DataTypes
Date and Time Data Type Syntax
- 表示日期
- 时间范围:
'1000-01-01' ~ '9999-12-31'
- 允许字符串或数字赋值给DATE类型
- 表示日期和时间
- 时间范围:
'1000-01-01 00:00:00.000000' ~ '9999-12-31 23:59:59.999999'
- fsp表示精度,可以填写0~6,默认为0,不填则为0
- 可以初始化或更新为当前时间,在设置列属性时通过
DEFAULT CURRENT_TIMESTAMP
(指定默认值为当前时间)或ON UPDATE CURRENT_TIMESTAMP
(设置字段值在更新这条记录时自动更新为当前时间)
- 表示时间戳,记录自
1970-01-01 00:00:01.000000
以来的秒数 - 时间范围:
'1970-01-01 00:00:01.000000' UTC
to'2038-01-19 03:14:07.999999' UTC
- fsp表示精度,可以填写0~6,默认为0,不填则为0
- 0 用来表示
0000-00-00 00:00:00
,不能表示1970-01-01 00:00:00
- 未声明
NOT NULL
的列 均可为设置为NULL
- 特可以使用
DEFAULT CURRENT_TIMESTAMP
和ON UPDATE CURRENT_TIMESTAMP
帮助我们自动设置当前的时间 ON UPDATE CURRENT_TIMESTAMP
使用的时候,如果所有列都更新为原值,实际上整条记录是没有发生变化的,所以时间戳自然也不会更新- 在存储时,会将当前时间转换为
UTC
时区的时间进行存储;在检索时又会将UTC
时区的时间转换为当前时区的时间(默认情况下,当前时区为服务器的时区;也可以对不同连接的不同时区进行转换;更换时区设置将会影响检索的准确性,会和存储的时候对不起来)
-
- 为连接设置时区 eg:
jdbc:mysql://localhost:3306/blog?serverTimezone=Asia/Shanghai
- 为连接设置时区 eg:
如有理解错误,还请各位前辈告知