我正在尝试将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
任何帮助?
答案 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)