[英]DATEDIFF rounding to the nearest 30 minutes
我正在使用datediff
來獲取兩個日期時間之間的差異:
DATEDIFF(hh, CAST(CAST(dbo.QuickLabDump.[Date Entered] AS DATE) AS DATETIME)
+ CAST(dbo.QuickLabDump.[Time Entered] AS TIME),
CAST(CAST(dbo.QuickLabDump.[Date Completed] AS DATE) AS DATETIME)
+ CAST(dbo.QuickLabDump.[Time Completed] AS TIME)) AS [Hours TurnAround]
我不明白我從該語句中得到的行為,但是我需要的是>= :30, round up, if not, round down,
任何內容>= :30, round up, if not, round down,
問題我如何在少於30分鍾的時間內將其四舍五入,而在大於或等於30分鍾的時間內如何將其四舍五入?
您應該以分鍾為單位計算DATEDIFF
並進行ROUND
然后:
ROUND(CAST(DATEDIFF(MINUTES, CAST(CAST(dbo.QuickLabDump.[Date Entered] AS DATE) AS DATETIME)
+ CAST(dbo.QuickLabDump.[Time Entered] AS TIME), CAST(CAST(dbo.QuickLabDump.[Date Completed] AS DATE) AS DATETIME)
+ CAST(dbo.QuickLabDump.[Time Completed] AS TIME)) AS FLOAT)/60,0) AS [Hours TurnAround]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.