Mysql的日期类型

Mysql的日期类型

mysql有三种日期类型:Date/DateTime/Timestamp

Date格式

数据存储格式 YYYY-MM-DD,它支持的范围为’1000-01-01 00:00:00’到’9999-12-31 23:59:59’

如果插入带了time字段,它会丢弃该部分的内容,并提示一个warning

Datetime格式

数据存储格式YYYY-MM-DD HH:MM:SS,它支持的范围为’1000-01-01 00:00:00’到’9999-12-31 23:59:59’

DATETIME,不做任何改变,基本上是原样输入和输出。

TimeStamp格式

时间戳,从1970-01-01 00:00:00到当前的时间差值

对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。比如客户端是东八区,传入20161001193450,Mysql会使用UTC存储,当客户端改为东九区,查询时显示的会多一个小时20161001203450。而datetime不会,即它和时区无关。

DateTime和TimeStamp的区别

  • 占用空间不同,datetime 8字节 timestamp 4字节
  • 表示范围,如上所述
  • 时区,对于timestamp来说,如果储存时的时区和检索时的时区不一样,那么拿出来的数据也不一样。对于datetime来说,存什么拿到的就是什么。比如传入的搜索时间是东八区的早上20191001的8点,那么timestamp返回的是减去8小时的时间,而datetime直接返回20191001的8点,无视时区。
  • 传入为null时,timestamp会自动存储当前时间,而datetime会存NULL

参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值