我有以下正在运行的代码,但是如何获取终端分钟以将输出显示为天、小时、分钟?如果无法做到这一点,是否可以在时间上添加 +1 以表明是第二天?
我遇到的问题是,当我们的订单运行时间超过下午 23.59 时,由于时间段为 24 小时,系统无法显示正确的格式。
我很困惑,希望我没有混淆事情。
SELECT FOLIO_NUMBER, TERMINAL_NAME,
format((START_LOAD_TIME - ORDER_ENTRY_TIME), 'HH:mm') AS STAGING_MINUTES,
format((TERM_END_LOAD_TIME - START_LOAD_TIME), 'HH:mm') AS LOADING_MINUTES,
format((TERM_END_LOAD_TIME - ORDER_ENTRY_TIME), 'HH:mm') AS TERMINAL_MINUTES
FROM ORDERS
JOIN TERMINAL_OWNER ON ORDERS.LOADING_TERMINAL_ID = TERMINAL_OWNER.TERMINAL_ID
最佳答案
DECLARE @INT INT
SET @INT = DATEDIFF(SECOND,GETDATE(),GETDATE()+1)
select
convert(varchar(10), (@INT/86400)) + ':' +
convert(varchar(10), ((@INT%86400)/3600)) + ':'+
convert(varchar(10), (((@INT%86400)%3600)/60)) + ':'+
convert(varchar(10), (((@INT%86400)%3600)%60)) as 'DD:HH:MM:SS'
由 Nat-MS 提供。请参阅here
关于sql - 提取日/小时/分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54531347/