关于Mysql datetime类型存储范围测试
创建一个datetime表
> create table date_time(time datetime);
> desc date_time;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| time | datetime | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
输入"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 # 报错
输入”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
测试年份输入三位或者一位
> 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位
输入年份格式为”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 | # 可以存储
+---------------------+
最后测试极限时间
> 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 |
+---------------------+
总结:
- datetime类型范围为”0000-00-00 00:00:00“~”9999-12-31 23:59:59“;
- 要存储年份为两位数的需要在前面补足”00“,不然会按照date类型进行转换('00'-'69'会转换为2000-2069,'70'-'99'会转换为1970-1999);
关于Mysql datetime类型存储范围测试的更多相关文章
- 转:mysql datetime类型精确到毫秒、微秒的问题
原文地址:mysql datetime类型精确到毫秒.微秒的问题 mysql里面的datetime类型的精确度是可以到1/ 10 ^ 6 秒的某些客户端(如navicat for mysql)的显示经 ...
- mysql datetime类型 按格式在页面输出
mysql datetime类型对应java Date类型 java.util.Date类型会显示时间戳 java.sql.Date 只显示年月日不显示时分秒 只需要重写get方法 就能按格式输出 ...
- MySQL datetime类型详解
研发反馈问题,数据库中datetime数据类型存储的值末尾会因四舍五入出现不一致数据,影响查询结果,比如:程序中自动获取带毫秒精度的日期'2019-03-05 01:53:55.63',存入数据库后变 ...
- Mysql表类型(存储引擎)的比较
面试官问:你知道mysql有哪些存储引擎,区别是啥? 我:一脸闷逼,于是乎下来补一补,以作备查 1.和大多数数据库不同,MySQL 中有一个存储引擎的概念,针对不同的存储需求可以选择最优的存储引擎. ...
- Java 如何存取MySQL datetime类型
1 在java中只有Date类型,这样数据存储到MySQL会出现问题,前台提交的数据,比如2018-03-20 17:30:59,后台用Date接受的时候,由于Date只精确到天,所以默认接收时间为2 ...
- mysql 无法存储joda time的datetime类型
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '\xAC\xED\x00\x05sr\x ...
- MySQL字符类型datetime与timestamp
这片博客来详细分区一下这哥俩! 首先来说明这两个字符类型: DATETIME 8 1000-01-01 00:00:00 ~9999~12-31 23:59:59 0000-00-00 00:00:0 ...
- Mysql 数据库date, datetime类型设置0000-00-00默认值(default)报错问题
Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题 现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00&q ...
- mysql 时间类型datetime与timestamp区别比较
mysql 时间类型datetime与timestamp区别比较 相同点: 显示宽度和格式相同,显示宽度固定在19字符,格式为YYYY-MM-DD HH:MM:SS. 不同点: (1)时间范围不同: ...
随机推荐
- 第03节-BLE协议各层数据格式概述
本篇博客根据韦大仙的视频,整理所得. 对于BLE系统,它分为上下两块.上面那一块,我们称为host主机.下面这一块是controller,你可以简单的认为它就是一个蓝牙芯片. 对于host这一块,它运 ...
- Gartner:2019 年 iPaaS 魔力象限
http://www.199it.com/archives/869090.html 企业iPaaS产品支持越来越更广泛的使用场合,正迅速被企业采用以实现混合集成平台策略.这份魔力象限评估了17家供应商 ...
- Pandas | 26 疏离数据
当任何匹配特定值的数据(NaN/缺失值,尽管可以选择任何值)被省略时,稀疏对象被“压缩”. 一个特殊的SparseIndex对象跟踪数据被“稀疏”的地方. 这将在一个例子中更有意义. 所有的标准Pan ...
- 洛谷 P2996 [USACO10NOV]拜访奶牛Visiting Cows
P2996 传送门 题意: 给你一棵树,每一条边上最多选一个点,问你选的点数. 我的思想: 一开始我是想用黑白点染色的思想来做,就是每一条边都选择一个点. 可以跑两边一遍在意的时候染成黑,第二遍染成白 ...
- Flask 中的 Render Redirect HttpResponse
1.Flask中的HTTPResponse 在Flask 中的HttpResponse 在我们看来其实就是直接返回字符串 2.Flask中的Redirect 每当访问"/redi" ...
- sql语句之union与join的区别
union查询: 使用 union 可以将多个select语句的查询结果组合起来. 语法: select 字段1,字段2 from table1 union select 字段1,字段2 from t ...
- js 判断字符串是否为空或是否全为空格
判断字符串是否为空 if (str == "") { } 判断字符串是否为空且不能全为空格 if (str.match(/^[ ]*$/)) { } 第二种方式不仅可以校验空格 ...
- python 项目实战之logging日志打印
官网介绍:https://docs.python.org/2/library/logging.html 一. 基础使用 1.1 logging使用场景 日志是什么?这个不用多解释.百分之九十的程序都需 ...
- pytest新版本(5.3.2)中收集测试方法规则不支持以test结尾的方法
pytest新版本(5.3.2)中收集测试方法规则不支持以test结尾的方法,只能命名为以test开头,否则不能识别到
- PB级数据实时查询,滴滴Elasticsearch多集群架构实践
PB级数据实时查询,滴滴Elasticsearch多集群架构实践 mp.weixin.qq.com 点击上方"IT牧场",选择"设为星标"技术干货每日送达 点 ...