我试着用am,pm来区分两次,第一次和第二次,我有很多列:
FirstTime SecondTime
10:14:42 PM 1:05:25 AM.
当我使用datediff函数时,它返回错误的值,并且我希望在整个表中访问它,而不是在单行中,并且在特定表中需要max
我尝试了以下查询:
select DATEDIFF(MINUTE, first_time, second_time) AS 'Duration' FROM tbl_weight
SELECT max (DATEDIFF(MINUTE, first_time, second_time)) AS 'Duration' , sr_no
FROM tbl_weight where first_weight != '0' and second_weight != '0' group by sr_no ;
但两者都返回错误的值。
3条答案
按热度按时间kcwpcxri1#
我只是从你的评论中了解到
-1269
是错误的,而不是。您需要反转列的顺序以获得所需的结果,因为
FirstTime
应<=SecondTime
. 或使用ABS()
函数获取正数这是一把小提琴
xmd2e60i2#
你可以使用
CASE
表达式以反转DATEDIFF
当第二次在第一次之前时的表达式。当第二次是第二天时,这将提供预期的结果。t1qtbnec3#
你可以用
case
表达式: