0
我在其中一個表中有樹列:簽入時間和簽出時間以及計費時間。入住&退房是date
列,billableHours
是varchar
並想格式化如下:HH:MM
。如何在SQL Server中減去兩個日期列並計算持續時間
我可以用下面的查詢
SELECT CONVERT(VARCHAR, (Checkout - checkIn), 108)
FROM WorkTrackingLog
但它返回HH:MM:SS
問題1:
如何減去結帳簽入,並以這種格式得到billableHours - HH:MM
?
現在一旦我從辦理登機手續&退房日期得到HH:MM,我想添加HH:MM並在其他表中獲取totalDuration。
例如可以說我有三個記錄:
表1:
TicketId | billableHours
1001 | 05:04
1001 | 12:19
1001 | 02:16
表#2
TicketId | totalDuration
1001 | 19:39
問題2
如何轉換HH:Mm
到int
並將多個記錄一起添加到g et totalDuration
。總持續時間可以是varchar
格式。
有意義嗎?
非常感謝您的意見和反饋。
**不要存放格式化的數據;存儲原始數據**使用數字/浮點類型爲小時和小數小時,或使用整數類型爲分鐘。只在將數據顯示給最終用戶時格式化。 –
並使用**適當的數據類型**!如果您需要存儲數值(如「billableHours」),請將它們存儲在數字數據類型中,而不是「varchar」!如果這些數據存儲爲數字,那麼將它們總結爲'totalDuration'即可 –