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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JVM内存管理及GC机制[通俗易懂]

    JVM内存管理及GC机制[通俗易懂]一、概述JavaGC(GarbageCollection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。经过这么长时间的发展,JavaGC…

    2022年5月2日
  • MD5加密函数

    MD5加密函数其实C#里已经写好了怎么生成MD5,简单的一个函数调用就可以。 //////MD5加密/////////publicstaticstringGetMD5(stringsDataIn){MD5CryptoServiceProvidermd5

    2022年7月27日
  • Pandas DataFrame的基本属性详解

    Pandas DataFrame的基本属性详解PandasDataFrame的一些基本属性基本功能列表importpandasaspd导入库df=pd.DataFrame(data=None,index=None,columns=None,dtype=None,copy=False)创建一个DataFramedf.indexdf.columnsdf.axesdf.Tdf.info()…

    2022年5月5日
  • Nginx搭建视频点播和视频直播服务器[通俗易懂]

    Nginx搭建视频点播和视频直播服务器[通俗易懂]Nginx搭建视频点播和视频直播服务器一·、环境:Centos7,(推荐,Ubuntu不是很好用,经常会有一些莫名其妙的报错)Nginx1.10.1二、系统环境搭建首先,我是不建议自己一个个去安装这些软件的,耗时耗力,而且,容易出错,所以,最好使用yuminstall***命令安装,出错的概率小。资源链接:链接:https://pan.baidu.com/s/1WmJYpQ_b…

    2022年6月14日
  • 你想要的Http和Https知识这里都有[通俗易懂]

    你想要的Http和Https知识这里都有[通俗易懂]你真的了解HTTP和HTTPS吗?HTTPS=SSL+HTTP,面试必问。

    2022年10月16日
  • SQL数据库查询语句

    SQL数据库查询语句一、Select语句:select语句除了可以查看数据库中的表格和视图的信息外,还可以查看SQLServer的系统信息、复制、创建数据表。其查询功能强大,是SQL语言的灵魂语句,也是SQL中使用频率最高的语句。基本select语句:一个基本的select语句可以分解成三个部分:查找什么数据(select)、从哪里查找(from)、查找的条件是什么(where)。selec

    2022年5月16日

发表回复

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

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