2016-09-29 22 views
-2

我有時間08:30上午在SQL表varchar格式,所以我希望在兩個時間相同的HH:MM上午/下午格式的時間差.... 我如何檢查???任何人都可以幫助我? ??如何檢查SQL中12小時格式的時差?

+1

請爲您的speci添加標籤數據庫系統(例如[tag:sql-server]或[tag:oracle]等)。不同的系統對日期/時間數據類型有不同的支持。有些沒有數據類型可以方便地表示時間* span *,所以我通常會推薦使用數據庫之外的時間跨度。 –

+0

Oracle和/或MS SQL Server?你不會得到一個適用於兩者的答案...... – jarlh

回答

0

嘗試使用下面的腳本(對於sql服務器)。

DECLARE @a VARCHAR(8)='08:30 PM' 
DECLARE @b VARCHAR(8)='12:50 AM' 
DECLARE @null time='00:00:00'; 

--12小時(我認爲這是錯誤的邏輯)

SELECT CONVERT(VARCHAR(15),DATEADD(SECOND, - DATEDIFF(SECOND, cast(@b as time), cast(@a as time)), @null),100) 

- 用於獲得以小時分鐘的差異,

SELECT CAST(DATEADD(SECOND, - DATEDIFF(SECOND, cast(@b as time), cast(@a as time)), @null) as VARCHAR(5)) 

輸出: enter image description here

相關問題