数据库datetime是啥类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库datetime是啥类型相关的知识,希望对你有一定的参考价值。

datetime类型:可用于需要同时包含日期和时间信息的值。

datetime:mysql 以 'YYYY-MM-DD HH:mm:ss'格式检索与显示 DATETIME 类型。

DateTime 日期和时间部分,可以表示的日期范围从公元1753年1月1日00:00:00.000 到9999年12月31日23:59:59.997 ,精确到3.33毫秒,它需要8个字节的存储空间,其中前4个字节用于存储1900年1月1日以前或以后的天数,数值分正负,正数表示在此日期之后的日期,负数表示在此日期之前的日期;后4个字节用于存储从此日零时起所指定的时间经过的毫秒数。

扩展资料

在MySQL中创建表时,很容易通过类型介绍就能选择到合适自己的数据类型。不过到底是选择 datetime 还是 timestamp,可能会有点犯难。这两个日期时间类型各有优点:datetime 的日期范围比较大;timestamp 所占存储空间比较小,只是 datetime 的一半。

另外,timestamp 类型的列还有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新。“自动”的意思就是,你不去管它,MySQL 会替你去处理。

参考资料来源:百度百科-SQL数据类型

参考技术A

datetime类型:可用于需要同时包含日期和时间信息的值。

datetime:MySQL 以 'YYYY-MM-DD HH:mm:ss'格式检索与显示 DATETIME 类型。

DateTime日期和时间部分,可以表示1753年1月1日00:00:00.000到9999年12月31日23:59:59.997之间的日期范围,精确到3.33ms,它需要8字节的存储空间,其中前4字节用于存储1900年1月1日之前或之后的天数。该值分为正数和负数,正数表示此日期之后的天数,负数表示此日期之前的天数;最后4个字节用于存储从零开始指定的时间之后的毫秒数。

扩展资料

在MySQL中创建表时,

通过类型介绍,可以方便地选择正确的数据类型。然而,选择 datetime或timestamp戳可能有点困难。这两种日期时间类型各有优点: datetime的日期范围比较大;timestamp的存储空间比较小,只有日期时间的一半。

此外,timestamp类型的列还有一个特性:默认情况下,在插入和更新数据时,timestamp列将自动填充/更新为当前的(CURRENT_TIMESTAMP)的意思是如果你不在乎,MySQL会帮你处理的。

参考资料来源:

百度百科-SQL数据类型

参考技术B Mysql中经常用来存储日期的数据类型有三种:Date、Datetime、Timestamp。

Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。

Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为 “YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。

Timestamp类型:也是存储既有日期又有时间的数据。存储和显示的格式跟Datetime一样。支持的时间范围是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。

所有不符合上面所述格式的数据都会被转换为相应类型的0值。(0000-00-00或者0000-00-00 00:00:00)本回答被提问者采纳
参考技术C 我试过的用java.sqk.Timestamp是最好不过的,可以直接转换
但是可能会出现最后多2位 多个 .4 类似
然后自己写个过滤器自己处理下就行了
参考技术D C#中有DateTime类型,相当于数据库中的Datetime类型

timestamp是啥类型数据

在mysql中timestamp数据类型是一个比较特殊的数据类型,他可以自动在你不使用程序更新情况下只要你更新了记录timestamp会自动更新时间 通常表中会有一个Create date 创建日期的字段,其它数据库均有默认值的选项。MySQL也有默认值timestamp,但在MySQL中,不仅是插入就算是修改也会更新timestamp的值! 这样一来,就不是创建日期了,当作更新日期来使用比较好! 因此在MySQL中要记录创建日期还得使用datetime 然后使用NOW() 函数完成! 1: 如果定义时DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP子句都有,列值为默认使用当前的时间戳,并且自动更新。 2: 如果不使用DEFAULT或ON UPDATE子句,那么它等同于DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP。 3: 如果只有DEFAULT CURRENT_TIMESTAMP子句,而没有ON UPDATE子句,列值默认为当前时间戳但不自动更新。 4: 如果没用DEFAULT子句,但有ON UPDATE CURRENT_TIMESTAMP子句,列默认为0并自动更新。 5: 如果有一个常量值DEFAULT,该列会有一个默认值,而且不会自动初始化为当前时间戳。如果该列还有一个ON UPDATE CURRENT_TIMESTAMP子句,这个时间戳会自动更新,否则该列有一个默认的常量但不会自动更新。 换句话说,你可以使用当前的时间戳去初始化值和自动更新,或者是其中之一,也可以都不是。(比如,你在定义的时候可以指定自动更新,但并不初始化。) 参考技术A timestamp:占用 4 字节,内部实现是新纪元时间(1970-01-01 00:00:00)以来的秒,那么这种格式在展示给用户的时候就需要做必要的时区转换才能得到正确数据。

以上是关于数据库datetime是啥类型的主要内容,如果未能解决你的问题,请参考以下文章

XML:dateTime的数据应该是啥样的

为 DateTime 声明 obs 类型的正确方法是啥?

关于MYSQL 时间类型存储在数据库里是啥类型

mysql里的类型datetime(3) 和datetime的区别,这里3的含义是啥?

在sql server2008中的日期类型是啥

无法将类型“System.DateTime”隐式转换为“string”是啥意思?怎么改正?