sql convert / cast varchar(255)到datetime

时间:2013-09-05 19:08:02

标签: sql datetime varchar

我正在尝试将varchar(255)转换为datetime。我尝试使用convert:

Insert into contingentTable 
(startDate)

Select 
convert (datetime,startDate, 120) from tempTable

我正在

  

从字符转换日期和/或时间时转换失败   字符串。

tempTable字段是startdate,其数据类型是varchar(255),例如'05 / 21/2013 00:00:00.000000' contingentTable字段是startdate,其数据类型是datetime,例如2013-05-21 00:00:00.000

所以基本上我需要从2013年5月21日00:00:00.000000到2013-05-21 00:00:00.000

任何帮助?

1 个答案:

答案 0 :(得分:2)

好吧,考虑到数据的一致性(即它非常有名),你可以这样做:

SELECT CONVERT(DATETIME,
    SUBSTRING('05/21/2013 00:00:00.000000', 1,
        LEN('05/21/2013 00:00:00.000000') - 3),
    120)

因为问题只是精确度。更具体地说,你想要:

SELECT CONVERT(DATETIME,
    SUBSTRING(startDate, 1, LEN(startDate) - 3),
    120)