MySQL时间比较 表现的差异(mysql时间对比)

MySQL时间比较表现的差异

MySQL是一款具有广泛应用的关系型数据库管理系统,它用来存储和管理数据,用于Web、云计算,以及本地计算机中,可以从简单的家庭站到全球性的企业集团这样大型网络中使用,是当今最流行的数据库管理系统。MySql中的时间类型比较,有许多不同的表现。

MySQL内置的日期和时间数据类型有Timestamp,Date,Time,Datetime和Year五种。它们的表现差异可以总结为:

1、Timestamp类型(mysql> 5.0):可以从1970年1月1日00:00:00开始记时,以秒为单位储存,占用4个字节,由转换函数来实现。它和Date类型之间的差别在于,Timestamp记录的是具体的时间点(包括秒),而Date只记录具体的日期。

2、Date类型:可以从1000-01-01开始计时,以天为单位储存,占用的字节也为4个,只储存日期信息,如果要直接显示日期和时间,需要使用转换函数。

3、Time类型:可以从-838:59:59到838:59:59 之间计时,以秒为单位,占用3个字节储存,无论在什么样的时间都可以记录,但不能显示出具体的日期,可以储存时分秒。

4、Datetime类型:可以从1000-01-01 00:00:00 开始计时,以秒为单位,占用8个字节储存,可以储存日期和时间,且可以显示出完整的日期和时间信息。

5、Year类型:可以从1901至2155之间计时,以年份为单位储存,会自动将year从2位至4位转换,而此转换要根据当前计算机系统上的日期来进行计算,如果要显示年月日,则需要使用转换函数。

相对比起来,MySQL中日期时间类型的表现差异主要在于范围,储存长度和时间分辨率上,如果不确定要储存的信息到底有多大,可以先准确的确定范围,然后再根据实际情况选择相应的数据类型:

例如,如果要储存从1900年到未来数千年的连续时间数据,则可以使用DATETIME或TIMESTAMP类型;但如果只要储存一个固定的日期,可以选择YEAR来储存,日期只需要4个字节即可。

因此,要正确的使用MySQL的日期时间,可以按照以上几种类型的优点和缺点结合起来,进行正确的比较选择,如下例子:

(例子:)

SELECT * FROM mytable

WHERE `create_time` >= CAST(‘2017-01-01’ AS DATETIME);


数据运维技术 » MySQL时间比较 表现的差异(mysql时间对比)