美文网首页
Mysql时间类型

Mysql时间类型

作者: 紫石南 | 来源:发表于2017-08-11 17:18 被阅读37次

mysql中时间数据类型

mysql提供了DATETIME、DATE、TIMESTAMP、TIME和YEAR五种数据类型来存储时间。他们的范围为:

类型 最小值 最大值
YEAR 1901 2155
TIME -838:59:59 838:59:59
DATE 1000-01-01 9999-12-31
TIMESTAMP 不定 不定
DATETIME 1000-01-01 00:00:00 9999-12-31 23:59:59

TIMESTAMP

之所以TIMESTAMP类型不定是因为它的类型属性不定,取决于MySQL版本和服务器运行的SQL模式。一般存储时间日期都选用DATETIME。

Y2K问题

所谓的Y2K问题,就是如果只用两位数表示年份,系统不知道是具体是哪一年,如72既可以表示1972又可以表示2072。
mysql号称不存在该问题,因为它有默认的处理方式:

00-69范围的年值转换为2000-2069。
70-99范围的年值转换为1970-1999。

23:59:59的坑

我们要存储开始时间和结束时间,一般都是00:00:00到23:59:59,但是处理时要格外小心。如java获取当天结束时间代码片段:

cal.setTime(day);
cal.set(Calendar.HOUR_OF_DAY, cal.getMaximum(Calendar.HOUR_OF_DAY));
cal.set(Calendar.MINUTE, cal.getMaximum(Calendar.MINUTE));
cal.set(Calendar.SECOND, cal.getMaximum(Calendar.SECOND));
cal.set(Calendar.MILLISECOND, cal.getMaximum(Calendar.MILLISECOND));

比如2017-08-08,获取到为2017-08-08 23:59:59,打印出sql语句看到的也是这个值,但是插入后看到数据库为2017-08-09 00:00:00!问题出在DATETIME的时间范围,我们的时间有毫秒值,所以变成第二天了。将毫秒设为最小值即可:

// mysql支持只能精确到秒
cal.set(Calendar.MILLISECOND, cal.getMinimum(Calendar.MILLISECOND));

时间类型存储推荐方式

推荐用long型来存储时间,可以存储到毫秒级别,边界值处理也会更细,比较大小和求取差值也更直观。

相关文章

  • MySQL与PostgreSQL的时间类型

    1. MySQL的时间类型 MySQL(5.7)的Timestamp与DateTime类型都是存储时间的数据类型。...

  • Mysql时间类型

    mysql中时间数据类型 mysql提供了DATETIME、DATE、TIMESTAMP、TIME和YEAR五种数...

  • MySQL学习笔记

    MySQL MySQL常用数据类型 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型...

  • 2019-05-17

    mysql数据类型 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 char类型...

  • MySQL 数据类型

    MySQL支持多种类型,大致可以分为三类:数值,日期/时间,字符串(字符)类型。 数值类型 MySQL支持所有标准...

  • MySQL 数据表优化设计(五):如何选择一个合适的时间类型?

    MySQL 有多种类型存储日期和时间,例如 YEAR 和 DATE。MySQL 的时间类型存储的精确度能到秒(Ma...

  • 第4章 MySQL数据类型

    MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 4.1 数值类型 MySQL的数...

  • Mysql--时间类型

    mysql(5.5)所支持的日期时间类型有:DATETIME、 TIMESTAMP、DATE、TIME、YEAR。...

  • MySql日期时间类型

    日期时间类型|占用空间|日期格式|最小值|最大值|零值表示----|----|----|----|----|DAT...

  • MySQL的数据类型

    MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 1. 数值类型 MySQL支持所...

网友评论

      本文标题:Mysql时间类型

      本文链接:https://www.haomeiwen.com/subject/gckrrxtx.html