2013-06-19 82 views
0

我如何轉換以下:我如何將字符串轉換爲日期時間在SQL Server 2008

031413 05:53 AM成DATETIME格式?

如果此代碼:

SELECT CONVERT(DATETIME, '031413 05:53 AM')給我一個錯誤。

+0

重複:http://stackoverflow.com/questions/1135746/sql-server-convert-string-to-datetime –

+2

最好的解決方案通常是避免首先在一個字符串中有一個日期時間。如果在日期時間類型中將日期時間值保留在整個代碼中,則不會遇到這類問題。 –

+0

你從某個地方檢索'031413 05:53 AM'嗎? –

回答

1

嘗試這個

DECLARE @var VARCHAR(50) ='031613 05:39 AM' 

SELECT CONVERT(datetime,SUBSTRING(@var,5,2)+LEFT(@var,2)+SUBSTRING(@var,3,2)+SUBSTRING(@var,7,9)) 

SQL Fiddle

0

試試這個:

SELECT CONVERT(datetime, SUBSTRING('031413 05:53 AM', 5, 2) 
         + LEFT('031413 05:53 AM',2) 
         + SUBSTRING('031413 05:53 AM', 3, 2)) 
FROM DATES 
1
declare @a varchar(40) = '031413 05:53 AM' 
select convert(datetime, right(stuff(@a, 7, 0, left(@a, 4)), 15), 109) 

結果:

2013-03-14 05:53:00.000 
相關問題