top
Loading...
11.3.4.Y2K事宜和日期類型
11.3.4. Y2K事宜和日期類型

MySQL本身對于2000(Y2K)是安全的(參見1.4.5節,“2000年兼容性”),但輸入給MySQL的值可能不安全。任何包含兩位年值的輸入都會令人模糊,因為世紀不知道。這些值必須解釋為四位形式,因為MySQL內部使用四位來保存年。

對于DATETIMEDATETIMESTAMPYEAR類型,MySQL使用以下規則解釋含模糊年值的日期:

·         00-69范圍的年值轉換為2000-2069

·         70-99范圍的年值轉換為1970-1999

請記住這些規則只是合理猜測數據值表示什么。如果MySQL使用的啟發不能產生正確的值,你應提供包含四位年值的確切輸入。

ORDER BY可以正確排序有兩位年的TIMESTAMPYEAR值。

部分函數如MIN()MAX()TIMESTAMPYEAR轉換為一個數字。這說明使用有兩位年值的值,這些函數不能工作正確。在這種情況下的修復方法是將TIMESTAMPYEAR轉換為四位年格式或使用MIN(DATE_ADD(TIMESTAMP,INTERVAL 0 DAYS))

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/column-types.html
北斗有巢氏 有巢氏北斗