2016-03-03 54 views
0

我在工作的情景,我需要時間存儲在以下格式:刪除在時間格式結腸和附加價值

10時23分56秒 - > 102356

是它在MS SQL中可能存儲上述格式的數據類型時間

+0

不能存儲在這個'102356'整數'TIME'數據類型 –

回答

2

那不是一個time數據類型。

  • 您可以將它保存爲time並在查詢表格時格式化輸出。

  • 或者格式化輸出並保存爲字符串。

使用RIGHT,以確保所有號碼爲兩位數字

SELECT 
    CONCAT(
     RIGHT('00'+ DATEPART(HOUR , GETDATE()), 2), 
     RIGHT('00'+ DATEPART(MINUTE, GETDATE()), 2), 
     RIGHT('00'+ DATEPART(SECOND, GETDATE()), 2) 
    ) 
; 

由於只有在2012+一個更通用的形式給出提到CONCAT工作

SELECT 
    RIGHT('00'+ CAST(DATEPART(HOUR , GETDATE()) AS VARCHAR(2)), 2) + 
    RIGHT('00'+ CAST(DATEPART(MINUTE, GETDATE()) AS VARCHAR(2)), 2) + 
    RIGHT('00'+ CAST(DATEPART(SECOND, GETDATE()) AS VARCHAR(2)), 2) 
; 
+0

'SQL Server 2012'引入了'CONCAT',值得一提。在此之前,你需要使用'+'與適當的*鑄造* –

+0

@MotoGP我很懶,不想做'CAST'。現在包括兩個版本 –