建设网站河北建设网,用数据库做网站,网站开发技术现状,seo顾问服务咨询date、datetime 的区别
顾名思义#xff0c;date 日期#xff0c;datetime 日期时间#xff0c;所以 date 是 datetime 的日期部分MySQL 以 格式检索和显示 datetime 值
YYYY-MM-DD hh:mm:ss
datetime 支持的日期时间范围
1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
d…date、datetime 的区别
顾名思义date 日期datetime 日期时间所以 date 是 datetime 的日期部分MySQL 以 格式检索和显示 datetime 值
YYYY-MM-DD hh:mm:ss
datetime 支持的日期时间范围
1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
datetime 和 timestamp 的区别一时间范围
它们都是以 格式检索和显示日期时间
YYYY-MM-DD hh:mm:ss
第一个区别是 timestamp 支持的日期时间范围不如 datetime 大
timestamp 支持的日期时间范围
是 UTC 时间
1970-01-01 00:00:01 UTC - 2038-01-19 03:14:07 UTC
什么是 UTC
协调世界时间世界统一时间世界标准时间国际协调时间
datetime 或 timestamp 值可以包括尾部小数秒部分
精度最高可达微秒6 位小数位插入到 datetime 或 timestamp 列的值中的任何小数部分都会被保留而不是被丢弃保留小数部分后格式变成
YYYY-MM-DD hh:mm:ss[.fraction]
datetime 值的范围变成
1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999
timestamp 值的范围变成
1970-01-01 00:00:01.000000 ~ 2038-01-19 03:14:07.999999
datetime 和 timestamp 区别二时区
因为 timestamp 存储的是 UTC 时间所以会有时区的概念这也是区别于 datetime 地方之一MySQL 对于 timestamp 字段值会将客户端插入的时间从当前时区转换为 UTC 再进行存储查询时会从 UTC 转换回客户端当前时区再进行返回默认情况下每个连接的当前时区是服务器的时间可以在每个连接的基础上设置时区只要时区设置保持不变该 timestamp 字段读写的值就会保持一致
和 datetime 的区别
datetime 没有时区概念客户端传什么时间就存什么时间省去了转换时区的步骤
datetime 和 timestamp 区别三字节数
datetime 和 timestamp 存储的都是二进制而不是字符串
timestamp4 个字节datetime5 个字节有些教程会写 8 个但官方文档目前 mysql8 中 datetime 是 5 个字节进行存储
重点
它们在保存小数秒时都将使用额外的空间1-3 个字节如果存储 150w 条记录1 个字节的差异可以忽略不计150 万条记录 * 每条记录 1 个额外字节/1048576 字节/MB 1.43 MB
timestamp 节省一个字节是有代价的
最开始也说了timestamp 只能存储 1970-01-01 00:00:01.000000 到 2038-01-19 03:14:07.999999 的值但 datetime 可以存储 1000-01-01 00:00:00.000000 到 9999-12-31 23:59:59.999999 的任何值