iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >为什么在 MySQL 中使用两位数年份的日期值不是一个好习惯?
  • 230
分享到

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

2023-10-22 10:10:46 230人浏览 安东尼
摘要

众所周知,YEAR(2) 以 2 位数字格式存储年份。例如,我们可以写 69 将 1969 存储为年份。在 YEAR (2) 中,年份可以指定为 1970 到 2069(70 到 69)。Mysql 借助以下规则解释 2 位年份值 -00-

众所周知,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 年。

您可能感兴趣的文档:

--结束END--

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

本文链接: https://www.lsjlt.com/news/436837.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作