首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL数据库中的时间

声明:本文主要介绍MySQL5.0数据库中的常用时间,不同的版本可能会有差异。

1:分类

DATE 一般用来表示年月日、

TIME用来表示时分秒、

DATETIME一般用来表示年月日时分秒、

TIMESTAMP一般用来表示经常需要改变或者经常更新为系统时间、

YEAR 可以用来只表示年份,占用空间比DATE少。

2:占用字节大小

DATE 4字节

TIME 3字节

DATETIME 8字节

TIMETAMP 4字节

YEAR 1 字节

3:有效范围

DATE 1000-01-01 9999-12-31

TIME -838-59-59 838-59-59

DATETIME 1000-01-01 9999-12-31 23:59:59

YEAR 1901 2155

可以看出每种日期时间类型都有一个有效范围,如果超出这个范围,在默认的

SQLMode 下,系统会提示错误,并将以零值来进行存储。零值根据不同时间日期格式不同会有不同表现。

4 MySQL会给TIMESTAMP 时间戳字段设置默认值为当前系统日期,即使你插入数据为null,也会有一个默认值为当前系统默认的时间戳;MySQL规定只有一列的默认值为TIMESTAMP,如果强制修改,系统会提示错误

TIMESTAMP 回和时区相关,插入日期时,会先转换为本地时区存放,取出来时同样过程。

TIMESTAMP 表示的时间范围较小,为2038年的某一天,如果插入数据库的时间大于这个时间,值会变为0

5 YYYY-MM-DD HH:MM:SS 允许不严格语法:就是任何标点符都可以用作日期部分或者时间部分之间的间隔 eg: 98-12-31 98.12.31表示一样

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181216G0TE3K00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券