我們在 SQL 中有兩列。一個是total_work_time& 下一個是total_exeption_time& 兩個列資料型別都是 varchar
total_work_time值為 07:15:00
total_exeption_time值為 01:15:00
所以我需要減去total_work_time-total_exeption_time結果將是 06:00:00。
我試過了concat(DATEDIFF(HOUR,total_exeption_time,total_work_time),':', DATEDIFF(MINUTE,total_exeption_time,total_work_time))
但結果是 6:360。由此看來,360是有問題的,總共花了幾分鐘。我需要像 06:00:00. 如何使用 SQL Server 解決此問題。
uj5u.com熱心網友回復:
您應該將時間值存盤在TIME資料型別中 - 使用正確的資料型別不僅是最佳實踐,而且會減少您將來面臨的問題。
您可以將您的VARCHAR值轉換為TIME然后使用以下計算,該計算以秒為單位(假設您的最低興趣單位)并創建一個新TIME結果。
DECLARE @total_work_time TIME = '07:15:00', @total_exeption_time TIME = '01:15:00';
SELECT CONVERT(TIME, DATEADD(SECOND, DATEDIFF(SECOND, @total_exeption_time, @total_work_time), '00:00'));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/456558.html
