如何在SQL Server 2008中将字符串转换为日期时间

如何在SQL Server 2008中将字符串转换为日期时间,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,如何转换以下内容: 031413 05:53 AM转换为日期时间格式 其中,此代码: 选择CONVERT(日期时间,'031413 05:53 AM')给我一个错误。试试这个 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)) 试试这个: SELECT CONVE

如何转换以下内容:

031413 05:53 AM
转换为日期时间格式

其中,此代码:

选择CONVERT(日期时间,'031413 05:53 AM')
给我一个错误。

试试这个

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))
试试这个:

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
结果:

2013-03-14 05:53:00.000

重复:最好的解决方案通常是首先避免在字符串中包含日期时间。如果在整个代码中都将datetime值保存在datetime类型中,则不会遇到此类问题。是否从某处检索
031413 05:53 AM
?是的,使用sql变量从sql游标检索
2013-03-14 05:53:00.000