问题描述
旧的DATEDIFF()允许用户使用3个参数,我试图这样做,所以我可以从我的DATEDIFF而不是几天中获得几个小时(我试图从一个帖子开始显示几个小时)。在我的数据库中,我使用一个TIMESTAMP和这行代码来拉一个值,显然它不起作用,因为我有额外的参数。一旦我删除'小时'或'hh',查询就会运行,并返回一个以天为单位的值。 SELECT DATEDIFF(hour,CURDATE ,(SELECT Post_Date FROM Post_T WHERE pk_PostID = 1))
有一种简单的方法可以返回小时值吗?
另外我使用的是MYSQL版本5.5.20。
就像在:
如果您希望在几个小时内使用结果,您应该使用
单位参数可以是: code> MICROSECOND(微秒),SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,QUARTER或YEAR。
你可以这样做:
SELECT TIMESTAMPDIFF(hour,CURDATE(),(SELECT Post_Date FROM Post_T WHERE pk_PostID = 1))
The old DATEDIFF() allowed users to use 3 parameters, and I was trying to do this so I could get hours out of my DATEDIFF rather than days, (I'm trying to show hours since a post). In my database I'm using a TIMESTAMP and this line of code to pull a value, and obviously it doesn't work because I have the extra parameter. Once I remove the 'hour' or 'hh' the query runs and returns a value in days.
SELECT DATEDIFF(hour, CURDATE(), (SELECT Post_Date FROM Post_T WHERE pk_PostID = 1) )
Is there an easy way I can return the hourly value?
Also I'm using MYSQL Version 5.5.20.
Like it says in the documentation:
If you want the result in hours you should use Timestampdiff
The unit argument can be: MICROSECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or YEAR.
In your case you can do:
SELECT TIMESTAMPDIFF(hour, CURDATE(), (SELECT Post_Date FROM Post_T WHERE pk_PostID = 1) )
这篇关于DATEDIFF()参数问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!