MySQL 9.0 版本說明
具有兩位數年份的日期值具有歧義,因為世紀未知。這些值必須轉換為四位數格式,因為 MySQL 在內部使用四位數儲存年份。
對於 DATETIME
、DATE
和 TIMESTAMP
類型,MySQL 使用以下規則解釋使用不明確年份值指定的日期
範圍在
00-69
中的年份值會變成2000-2069
。範圍在
70-99
中的年份值會變成1970-1999
。
對於 YEAR
,規則相同,但有以下例外:插入 YEAR
中的數值 00
會產生 0000
,而不是 2000
。若要為 YEAR
指定零並將其解讀為 2000
,請將其指定為字串 '0'
或 '00'
。
請記住,這些規則只是啟發式方法,可對您的資料值含義提供合理的猜測。如果 MySQL 使用的規則無法產生您所需的值,則您必須提供包含四位數年份值的明確輸入。
ORDER BY
可正確排序具有兩位數年份的 YEAR
值。
某些函數(如 MIN()
和 MAX()
)會將 YEAR
轉換為數字。這表示具有兩位數年份的值無法與這些函數正常運作。這種情況下的解決方法是將 YEAR
轉換為四位數年份格式。