众所周知,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 中使用两位数年份的日期值不是一个好习惯?的详细内容,更多请关注编程之家其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。