2016-03-02 30 views
0

我有一個問題,將來自Web服務的這個字符串轉換爲我們的數據庫的日期時間。轉換字符串格式爲「2014-08-12-12:42:38:133936」到datetime

我知道我可以把每個邊的日期/時間的子字符串,並格式化它的地獄,這樣我基本上將它分開,並添加時間回到日期,但必須有一個更簡單的方法。我很害怕,如果我這樣做的「黑客」方式,然後在某個地方會有一個會打破邏輯的日期。

那麼沒有人有將格式爲「2014-08-12-12:42:38:133936」的字符串轉換爲Datetime數據類型的提示嗎?

+0

使用** CAST **和** **轉換TSQL功能。 – Hiten004

+0

您是否需要保持yyyy-mm-dd的精確度hh:mm:ss.mmmmm或者您對yyyy-mm-dd感到滿意hh:mm:ss.mmm –

回答

0

如果您不需要需要保持精度YYYY-MM-DD HH:MM:ss.mmmmmm或者你是幸福的YYYY-MM-DD HH:MM:ss.mmm

這應做到:

DECLARE @value VARCHAR(MAX) = '2014-08-12-12:42:38:133936' 

SELECT convert(datetime, STUFF(SUBSTRING(@value,1,LEN(@value)-3),11,1,' '), 21) 

SELECT CAST(STUFF(SUBSTRING(@value,1,LEN(@value)-3),11,1,' ')AS DATETIME) 
相關問題