眾所周知,YEAR(2) 以 2 位數(shù)字格式存儲年份。例如,我們可以寫 69 將 1969 存儲為年份。在 YEAR (2) 中,年份可以指定為 1970 到 2069(70 到 69)。
MySQL 借助以下規(guī)則解釋 2 位年份值 –
- 00-69 范圍內(nèi)的年份值將轉(zhuǎn)換為 2000-2069。?70-99 范圍內(nèi)的年份值將轉(zhuǎn)換為 1970-1999。 ul>
我們不能將日期值存儲為 2 位數(shù)字格式,因為由于世紀(jì)未知,以這種格式存儲的值會變得模糊。
借助以下 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)
登錄后復(fù)制
通過將 00 存儲到“val”,我們不確定是指哪一年,“1900”還是“2000”。 MySQL 將其解釋為 2000 年。
以上就是為什么在 MySQL 中使用兩位數(shù)年份的日期值不是一個好習(xí)慣?的詳細內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!