2013-07-30 51 views
0

在SQL Server 2008中,如何將類型'MMMM DD,YYYY'(即June 01, 2013)的字符串轉換爲常規日期時間類型(20130601)?在SQL Server中,將'mmmm dd,yyy'字符串轉換爲日期時間格式

據我所知,只有Convert()工程日期轉換爲字符串,而不是周圍的其他方式。我確定在某個地方有一個標準化的答案,但是我找不到一個用於SQL Server的答案。我應該編寫一個自定義過程來解析字符串嗎?

+1

我只是想'SELECT CAST(「2013年6月1日」的日期時間)'和它的工作。可能是地區依賴或什麼的。 –

+3

爲什麼你不確定源碼首先發送適當的,非區域性的和明確的格式? –

+0

爲什麼我沒有看到? Zespri,張貼作爲答案,你又得到了一個綠色檢查! – PowerUser

回答

1

雖然不建議存放在字符串格式的日期,你仍然可以正常字符串轉換爲日期。當你知道確切的格式,避免使用cast和使用convert - 看到可能的格式here。往返於107格式

set language english 
select convert(datetime, 'June 01, 2013', 107) 

----------------------- 
2013-06-01 00:00:00.000 

轉換取決於您的連接設置。如果,例如,您的連接母語不是英語,你會得到一個錯誤

set language norwegian 
select convert(datetime, 'June 01, 2013', 107) 

----------------------- 
Msg 241, Level 16, State 1, Line 2 
Conversion failed when converting date and/or time from character string. 
相關問題