DATEDIFF()参数问题

pco*_*ort 8 mysql datediff date

旧的DATEDIFF()允许用户使用3个参数,我试图这样做,所以我可以从我的DATEDIFF中获得数小时而不是几天(我试图显示自帖子后的小时数).在我的数据库中,我使用TIMESTAMP和这行代码来提取值,显然它不起作用,因为我有额外的参数.删除'小时'或'hh'后,查询将运行并返回以天为单位的值.

__CODE__

有一种简单的方法可以返回每小时的价值吗?

我也在使用MYSQL版本5.5.20.

Fil*_*lva 28

就像在文档中说的那样:

DATEDIFF(表达式1,表达式2)

DATEDIFF()返回expr1 - expr2,表示为从一个日期到另一个日期的数值.expr1和expr2是日期或日期和时间表达式.在计算中仅使用值的日期部分.

如果你想要几个小时的结果,你应该使用Timestampdiff

TIMESTAMPDIFF(单元,datetime_expr1,datetime_expr2)

返回datetime_expr2 - datetime_expr1,其中datetime_expr1和datetime_expr2是日期或日期时间表达式.一个表达式可以是日期,另一个表达式可以是日期时间; 在必要时,日期值被视为具有时间部分'00:00:00'的日期时间.结果的单位(整数)由单位参数给出.

单位参数可以是: MICROSECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or YEAR.

在您的情况下,您可以这样做:

SELECT TIMESTAMPDIFF(hour, CURDATE(), (SELECT Post_Date FROM Post_T WHERE pk_PostID = 1) )
Run Code Online (Sandbox Code Playgroud)