1. 创建一个datetime表

    > create table date_time(time datetime);
    > desc date_time;
    +-------+----------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +-------+----------+------+-----+---------+-------+
    | time | datetime | YES | | NULL | |
    +-------+----------+------+-----+---------+-------+
  2. 输入"10000-10-10 00:00:00"进行测试

    > insert into date_time values("10000-10-10 00:00:00");
    ERROR 1292 (22007): Incorrect datetime value: '10000-10-10 00:00:00' for column 'time' at row 1 # 报错
  3. 输入”23-01-02 12:23:56"测试

    > insert into date_time values("23-01-02 12:23:56");
    > insert into date_time values("79-01-02 12:23:56");
    > select * from date_time;
    +---------------------+
    | time |
    +---------------------+
    | 2023-01-02 12:23:56 |
    | 1979-01-02 12:23:56 |
    +---------------------+

    会和date一样,'00'-'69'会转换为2000-2069,'70'-'99'会转换为1970-1999

  4. 测试年份输入三位或者一位

    > insert into date_time values("179-01-02 12:23:56");
    > insert into date_time values("9-01-02 12:23:56");
    > select * from date_time;
    +---------------------+
    | time |
    +---------------------+
    | 2023-01-02 12:23:56 |
    | 1979-01-02 12:23:56 |
    | 0179-01-02 12:23:56 |
    | 0009-01-02 12:23:56 |
    +---------------------+

    可以存储进去,但会自动在前面补足0,使年份变为4位

  5. 输入年份格式为”00YY“

    > insert into date_time values("0079-01-02 12:23:56");
    > select * from date_time;
    +---------------------+
    | time |
    +---------------------+
    | 2023-01-02 12:23:56 |
    | 1979-01-02 12:23:56 |
    | 0179-01-02 12:23:56 |
    | 0009-01-02 12:23:56 |
    | 0079-01-02 12:23:56 | # 可以存储
    +---------------------+
  6. 最后测试极限时间

    > insert into date_time values("0000-00-00 00:00:00");
    > insert into date_time values("9999-12-31 23:59:59");
    > select * from date_time;
    +---------------------+
    | time |
    +---------------------+
    | 2023-01-02 12:23:56 |
    | 1979-01-02 12:23:56 |
    | 0179-01-02 12:23:56 |
    | 0009-01-02 12:23:56 |
    | 0079-01-02 12:23:56 |
    | 0000-00-00 00:00:00 |
    | 9999-12-31 23:59:59 |
    +---------------------+

总结:

  1. datetime类型范围为”0000-00-00 00:00:00“~”9999-12-31 23:59:59“;
  2. 要存储年份为两位数的需要在前面补足”00“,不然会按照date类型进行转换('00'-'69'会转换为2000-2069,'70'-'99'会转换为1970-1999);

关于Mysql datetime类型存储范围测试的更多相关文章

  1. 转:mysql datetime类型精确到毫秒、微秒的问题

    原文地址:mysql datetime类型精确到毫秒.微秒的问题 mysql里面的datetime类型的精确度是可以到1/ 10 ^ 6 秒的某些客户端(如navicat for mysql)的显示经 ...

  2. mysql datetime类型 按格式在页面输出

    mysql datetime类型对应java Date类型   java.util.Date类型会显示时间戳 java.sql.Date 只显示年月日不显示时分秒 只需要重写get方法 就能按格式输出 ...

  3. MySQL datetime类型详解

    研发反馈问题,数据库中datetime数据类型存储的值末尾会因四舍五入出现不一致数据,影响查询结果,比如:程序中自动获取带毫秒精度的日期'2019-03-05 01:53:55.63',存入数据库后变 ...

  4. Mysql表类型(存储引擎)的比较

    面试官问:你知道mysql有哪些存储引擎,区别是啥? 我:一脸闷逼,于是乎下来补一补,以作备查 1.和大多数数据库不同,MySQL 中有一个存储引擎的概念,针对不同的存储需求可以选择最优的存储引擎. ...

  5. Java 如何存取MySQL datetime类型

    1 在java中只有Date类型,这样数据存储到MySQL会出现问题,前台提交的数据,比如2018-03-20 17:30:59,后台用Date接受的时候,由于Date只精确到天,所以默认接收时间为2 ...

  6. mysql 无法存储joda time的datetime类型

    com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '\xAC\xED\x00\x05sr\x ...

  7. MySQL字符类型datetime与timestamp

    这片博客来详细分区一下这哥俩! 首先来说明这两个字符类型: DATETIME 8 1000-01-01 00:00:00 ~9999~12-31 23:59:59 0000-00-00 00:00:0 ...

  8. Mysql 数据库date, datetime类型设置0000-00-00默认值(default)报错问题

    Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题 现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00&q ...

  9. mysql 时间类型datetime与timestamp区别比较

    mysql 时间类型datetime与timestamp区别比较 相同点: 显示宽度和格式相同,显示宽度固定在19字符,格式为YYYY-MM-DD HH:MM:SS. 不同点: (1)时间范围不同: ...

随机推荐

  1. JS里==和===区别

    面试常问的一个基础问题 == 和 ===区别是什么? 这里简单描述下 "==="叫做严格运算符,"=="叫做相等运算符 而且 == 会对数据做隐式转换,而=== ...

  2. 使用BCP从Sybase远程数据库中导出数据

    1.在本机安装Sybase ASE 15,我装的开发版全套,懒得去仔细看需要哪个了 2.在Sybase安装目录里找到ini\sql.ini,在里面添加数据源例如: [MYDS] master=NLWN ...

  3. NGUI里的sprite和label有白色的边框

    问题描述:NGUI里的sprite和label有白色的边框,而原图一切正常 如图: 解决方案: 给Sprite 边缘左右更增加1,这样拉伸的时候就忽略了左右1的位置,图片就不会显示白色边框了

  4. 前端js判空处理,js字符串判空,js数组判空

    1.字符串 在 js 中,字符串为空会有这么几种形式,"",null,undefined,如果在已知变量为空串的情况下可以直接采用 if (string.length == 0) ...

  5. yarn rest api未授权漏洞

    项目集群之前在yarn8088的web资源管理页面上看到一堆莫名的定时任务,就是黑客利用漏洞挖矿,最后禁用了8088端口. freebuff传送门: https://www.freebuf.com/v ...

  6. Unable to instantiate Action, xxxAction, defined for 'showBlogDetails'

    (忘了截图错误信息...) 使用SSH框架配置applicationContext.xml与struts.xml之间的映射关系 解决方案:保证applicationContext.xml中注册的bea ...

  7. plv8 require 模块试用

    plv8 是postgres 的一个比较强大的插件,社区有人基于babel,browserify 实现了一个方便的require 模块加载 实际上官方也有介绍过了类似的基于数据库存储js,然后通过ev ...

  8. Hotspot的Metaspace

    Meta Space是JDK1.8引入的,在JDK1.8使用的是方法区,永久代(Permnament Generation).元空间存储的是元信息,使用的是操作系统的本地内存(Metaspace与Pe ...

  9. 微信第三方平台代公众号发起网页授权 48001 api unauthorized 问题

    https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&gr ...

  10. ASP.NET之MVC 微信公众号授权给第三方平台的技术实现流程(获取第三方平台access_token)

    “出于安全考虑,在第三方平台创建审核通过后,微信服务器每隔10分钟会向第三方的消息接收地址推送一次component_verify_ticket,用于获取第三方平台接口调用凭据”.这是文档中的原话,也 ...