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