文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美國信紙尺寸) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  日期中的雙位數年份

13.2.9 日期中的雙位數年份

具有雙位數年份的日期值是模稜兩可的,因為世紀未知。 這些值必須解釋為四位數形式,因為 MySQL 在內部使用 4 位數儲存年份。

對於 DATETIMEDATETIMESTAMP 類型,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 位數年份格式。