2015-11-09 108 views
1

我需要(如果可能),轉換,存儲的日期按以下格式Monday October 19, 2015一個字符串轉換爲可用的日期時間,例如01/10/2015SQL字符串轉換成DATETIME

每投一列,並轉換我試圖運行它只是返回

轉換日期和/或時間從字符串轉換失敗。

我無法對保存的格式作爲固定過程的一部分進行操作。

回答

5

砍掉日:

DECLARE @S VARCHAR(32) = 'Monday October 19, 2015' 

SELECT CAST(SUBSTRING(@S, CHARINDEX(' ', @S) + 1, LEN(@S)) AS DATETIME) 

> 2015-10-19 00:00:00.000 
+0

聰明。沒有事件想到剝離它。謝謝! – GPH

0

您應該將字符串操作爲這種格式 - 「DD/MON/YYYY」,其中DD是日期,MON是月份名稱的前三個字母,YYYY是年份。 你可以輕鬆地使用字符串函數做到這一點,並從那裏你可以使用傳統的轉換插入日期到數據庫,如在這篇文章中列出的日期 - Convert DD-Mon-YYYY to DD/MM/YYYY