1

我正在尝试将 varchar(255) 转换为日期时间。我尝试使用转换:

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

所以基本上我需要从 05/21/2013 00:00:00.000000 到 2013-05-21 00:00:00.000

有什么帮助吗?

4

1 回答 1

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)
于 2013-09-05T19:14:09.237 回答