為什麼在 MySQL 中使用兩位數年份的日期值不是一個好習慣?

PHPz
發布: 2023-09-06 20:25:02
轉載
1361 人瀏覽過

为什么在 MySQL 中使用两位数年份的日期值不是一个好习惯?

眾所周知,YEAR(2) 以 2 位數格式儲存年份。例如,我們可以寫 69 將 1969 儲存為年份。在 YEAR (2) 中,年份可以指定為 1970 到 2069(70 到 69)。

MySQL 使用下列規則解釋 2 位元年份值 -

  • 00-69 範圍內的年份值將轉換為 2000-2069。
  •  70-99 範圍內的年份值將轉換為 1970-1999。
  • ul>

    我們不能將日期值儲存為2 位元數字格式,因為由於世紀未知,以這種格式儲存的值會變得模糊。

    借助以下 MySQL 可以更清楚地理解它範例 -

    mysql> Create Table year_test(val year(2));
    Query OK, 0 rows affected, 1 warning (0.23 sec)
    
    mysql> insert into year_test(val) values('70');
    Query OK, 1 row affected (0.14 sec)
    
    mysql> insert into year_test(val) values('00');
    Query OK, 1 row affected (0.06 sec)
    
    mysql> select * from year_test;
    +-----+
    | val |
    +-----+
    | 70  |
    | 00  |
    +-----+
    2 rows in set (0.00 sec)
    
    mysql> select * from year_test where val = '1970';
    +-----+
    | val |
    +-----+
    | 70  |
    +-----+
    1 row in set (0.03 sec)
    
    mysql> select * from year_test where val = '2000';
    +-----+
    | val |
    +-----+
    | 00  |
    +-----+
    1 row in set (0.00 sec)
    
    mysql> select * from year_test where val = '1900';
    Empty set (0.06 sec)
    登入後複製

    透過將 00 儲存到“val”,我們不確定是指哪一年,“1900”還是“2000”。 MySQL 將其解釋為 2000 年。

以上是為什麼在 MySQL 中使用兩位數年份的日期值不是一個好習慣?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!