mysql datetime与timestamp区别

mysql datetime与timestamp区别datetime:1、与时区无关,存入的是什么值就是什么值,不会根据当前时区进行转换2、从mysql5.6.4中,可以存储小数片段,最多到小数点后6位,显示时格式为yyyy-MM-ddHH:mm:ss[.222222]mysql5.5中,没有小数片段。所以,我再从5.6版本迁移到5.5版本时,因为生成的sql中datetime(6),所以无法导入数据库。3、存储

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

datetime: 

1、保存格式为YYYYMMDDHHMMSS(年月日时分秒)的整数,所以,它与时区无关,存入的是什么值就是什么值,不会根据当前时区进行转换。

2、从mysql 5.6.4中,可以存储小数片段,最多到小数点后6位,显示时格式为 yyyy-MM-dd HH:mm:ss[.222222]

      mysql5.5中,没有小数片段,精确到秒。所以,我再从5.6版本迁移到5.5时,因生成的sql中datetime(6)有小数片段,无法导入。

3、存储范围:从1000-01-01 00:00:00 到’9999-12-31 23:59:59′

4、长度,8个字节,datetime(n),n不是存储长度,而是显示的小数位数,即使小数位数是0,存储是也是存储的6位小数,仅仅显示0位而已;要想显示小数,设置datetime(n),n=3显示小数点后3位,毫秒,n=6显示小数点后6位,微秒。

timestamp:

1、存入的是自1970-01-01午夜(格林尼治标准时间)以来的秒数,它和unix时间戳相同。所以它与时区有关,查询时转为相应的时区时间。比如,存储的是1970-01-01 00:00:00,客户端是北京,那么就加8个时区的小时1970-01-01 08:00:00。

2、有小数片段,至少从5.5就开始有

3、存储范围:'1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' 

4、可以当做时间戳使用,在更新时,自动更新,这一列只能由系统自动更新,不能由sql更新,这个在乐观锁时有广泛的应用

6、长度,4字节,因为存储长度的原因,决定了它支持的范围的比datetime的要小

7、显示时,显示日期和时间

datetime和timestamp都可以当作时间戳使用

datetime和timestamp都可以设置默认值,并且在其他列值更新时更新为当前时间,DEFAULT  CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP,这俩子句可以一起使用,顺序无所谓,一起使用的意思是,默认值是当前时间并且在其他列更新值时,此列更新为当前时间。

ALTER TABLE `mytest`.`date_time_test` 
CHANGE COLUMN `col2` `col2` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ;

date

date,时分秒都存储了,但只显示日期。对应Java中的java.sql.Date

datetime与时区无关、timestamp与时区有关

1、查看当前时区,并创建表test_date,一个是timestamp列,一个是datetime列

mysql datetime与timestamp区别

2、插入两条数据,相同的时间。修改时区为0时区(格林尼治时区)后,查看时间,发现timestamp改变了,datetime没变。

mysql datetime与timestamp区别

总结

datetime、timestamp精确度都是秒,datetime与时区无关,存储的范围广(1001-9999),timestamp与时区有关,存储的范围小(1970-2038)。

MySQL :: MySQL 5.7 Reference Manual :: 11.2.2 The DATE, DATETIME, and TIMESTAMP Types

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215460.html原文链接:https://javaforall.net

(0)
上一篇 2025年7月15日 下午1:43
下一篇 2025年7月15日 下午2:15


相关推荐

  • 高级I/O函数之sendfile函数[通俗易懂]

    高级I/O函数之sendfile函数[通俗易懂]sendfile函数在两个文件描述符之间传递数据(完全在内核中操作),从而避免了内核缓冲区和用户缓冲区之间的数据拷贝,效率很高,被称为零拷贝。函数定义为:#include<sys/sendfile.h>ssize_tsenfile(intout_fd,intin_fd,off_t*offset,size_tcount);in_fd参数是待读出内容的文件描述符,out…

    2022年5月10日
    39
  • 传原千问大模型后训练负责人郁博文加入字节跳动

    传原千问大模型后训练负责人郁博文加入字节跳动

    2026年3月12日
    2
  • SPU、SKU和item

    SPU、SKU和itemSPU SPU StandardProd 标准产品单位 SPU 是商品信息聚合的最小单位 是一组可复用 易检索的标准化信息的集合 该集合描述了一个产品的特性 通俗点讲 属性值 特性相同的商品就可以称为一个 SPU 例如 iphone4 就是一个 SPU 与商家 与颜色 款式 套餐都无关 SKU SKU stockkeeping 库存量单位 SKU 即库存进出计量的单位 可以是以件 盒 托盘等为单位 SKU 是物理上不可分割的最小存货单元 在使用时要根据不同

    2026年3月26日
    0
  • AI技术解读:Openclaw(AI龙虾)是什么?及其端侧AI对存储要求的提升O

    AI技术解读:Openclaw(AI龙虾)是什么?及其端侧AI对存储要求的提升O

    2026年3月13日
    2
  • Linux挂载磁盘出现只读的问题

    Linux挂载磁盘出现只读的问题由于挂载的是windows下使用的磁盘,是NTFS分区格式,使用mount查看当前挂载的设备,发现磁盘/dev/sdb2属性为ro,也就算readonly,使用如下命令修复即可:sudontfsfix/dev/sdb2修复成功出现NTFSpartition/dev/sda2wasprocessedsuccessfully.然后再修改磁盘读写属性:(好像也可以不改属性,使用unmount卸载掉磁盘后再挂载磁盘即可)mount-orw/dev/sda2/mnt/sda2参

    2022年6月19日
    30
  • 计算矩阵的欧式距离

    计算矩阵的欧式距离对于 kNN 算法 难点在于计算测试集中每一样本到训练集中每一样本的欧氏距离 即计算两个矩阵之间的欧氏距离 现就计算欧式距离提出三种方法 1 两层循环分别对训练集和测试集中的数据进行循环遍历 计算每两个样本之间的欧式距离 此算法没有经过任何优化 importnumpya 1 np array 1 2 3 4 5 6

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号