2011-11-22 86 views
3

這是我的第一篇文章,所以任何錯誤提前道歉。轉換日期時轉換失敗

我想將字符串轉換爲日期格式。我的字符串格式爲「20110709_000000」。

我在研究之後嘗試了以下查詢,但兩者都返回了以下錯誤: '從字符串轉換datetime時轉換失敗。'

我已經試過

Select CAST(REPLACE('20110709_000000','_', '') AS DATETIME) 

SELECT CONVERT(DATETIME,REPLACE('20110709_000000','_', ''),109). 

任何幫助,將不勝感激。

回答

1

你最後需要000000嗎?這應該工作:

Select CAST(REPLACE('20110709_000000','_000000', '') AS DATETIME) 
+0

嗨加勒特是完美工作謝謝。 –

3

假設000000hhmiss可以使用substring獲得部件和基礎上,你可以轉換爲datetime格式yyyymmdd hhmiss的字符串。

declare @ds varchar(15) = '20110709_102030' 

select cast(substring(@ds, 1, 8)+' '+ 
      substring(@ds, 10, 2)+':'+  
      substring(@ds, 12, 2)+':'+ 
      substring(@ds, 14, 2) as datetime) 

結果:

----------------------- 
2011-07-09 10:20:30.000 
相關問題