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 位數年份格式。