如果要使两个DATETIME值之间存在差异,请使用TIMESTAMPDIFF
:
TIMESTAMPDIFF(单位,datetime_expr1,datetime_expr2)
返回
datetime_expr2 –datetime_expr1,其中datetime_expr1和datetime_expr2是日期或日期时间表达式。一个表达式可以是日期,另一个可以是日期时间。在必要时,将日期值视为具有时间部分“
00:00:00”的日期时间。结果的单位(整数)由unit参数指定。单位的合法值与TIMESTAMPADD()功能说明中列出的值相同。
mysql> SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01'); -> 3mysql> SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01'); -> -1mysql> SELECT TIMESTAMPDIFF(MINUTE,'2003-02-01','2003-05-01 12:05:55'); -> 128885
unit也可以
HOUR是您在其中之一中要求的内容。
unit参数可以是以下任意一个:
- 微秒
- 第二
- 分钟
- 小时
- 天
- 周
- 月
- 25美分硬币
- 年
当然,其他一些选项的有用程度取决于数据的粒度。例如,如果您没有在DATETIME值中存储微秒,则“ MICROSECOND”的使用将受到限制。



