MySQL常用日期时间类型及相关函数总结

针对日期时间数据,MySQL提供了几种类型和若干的日期时间函数供人们使用。常用的日期时间类型有year, date, time, datetime, timestamp;常用的日期时间函数有NOW(), CURDATE(), CURTIME(), UNIX_TIMESTAMP()等。

为了给大家一个直观的感受,首先来看下面这张表,包含了五种日期时间类型:

1.日期时间类型

(1)year

year类型,存储年份,如上表所示,表现形式一般为YYYY。

(2)date

date类型,存储日期,如上表所示,表现形式一般为YYYY-MM-DD。

(3)time

time类型,存储时间,如上表所示,表现形式一般为HH:MM:SS。

(4)datetime

datetime类型,存储日期和时间,如上表所示,表现形式一般为YYYY-MM-DD HH:MM:SS。

(5)timestamp

timestamp类型,存储日期和时间,其表现形式和datetime类型一样为YYYY-MM-DD HH:MM:SS。

2.日期时间函数

(1)NOW()

返回当前的日期和时间,格式为YYYY-MM-DD HH:MM:SS。比如:

(2)CURDATE()

返回当前的日期,格式为YYYY-MM-DD。比如:

(3)CURTIME()

返回当前的时间,格式为HH:MM:SS,比如:

其返回结果与函数CURRENT_TIME()相同。

(4)DATE()

提取指定日期时间或时间的日期部分,例如:

(5)DATE_SUB(date,INTERVAL expr type)

返回指定日期的时间间隔(减法),返回类型需要根据具体的间隔类型type而定,比如:

其中,type的常用取值有,YEAR, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND等等。

(6)DATE_ADD()

返回指定日期/日期时间的时间间隔(加法),类似于DATE_SUB()函数。

(7)EXTRACT(type FROM date)

从指定的日期或日期时间中提取具体的某一部分,比如:

其中,type的常用取值有,YEAR, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND等等。

(8)DATEDIFF(date1, date2)

返回指定的date1和date2之间相差的天数,date1-date2,比如:

(9)DATE_FORMAT()

返回指定格式的日期或日期时间,例如:

(10)UNIX_TIMESTAMP()

返回指定时间的unix时间戳,即自1970年1月1日开始经过的秒数,比如:

3.其他

UNIX_TIMESTAMP()函数返回的unix时间戳,在linux开发环境中会经常用到。比如,C语言中的time_t类型即为unix时间戳、time()函数的返回值为unix时间戳、localtime()函数的形参类型为unix时间戳类型等等。

参考:
1.MySQL官方文档

《MySQL常用日期时间类型及相关函数总结》有1个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注