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 轉換為四位數年份格式。