转换为日期时间不起作用

时间:2012-10-13 05:09:50

标签: sql sql-server

好吧,伙计们,这让我几乎疯了。我已尝试使用CURRENT_TIMESTAMP进行强制转换,转换,子选择,但一直收到此错误:

从字符串转换日期时转换失败。

这有什么问题?

insert into somethingtable 
 values ('000000','value','$VAR1 = {};' ,'DummyValue',
         '$VAR1 = {};', Cast('2012-10-13 13:02:08.000' AS datetime),
         '0','1','NULL','NULL') 

似乎只关心或抱怨时间戳。

3 个答案:

答案 0 :(得分:0)

如果你有 SET DATEFORMAT DMY ,解析yyyy-mm-dd格式会出错,因为SQL Server会尝试将其读作yyyy-dd-mm!从SQL Server 2012开始,日期格式将被专门针对xxxx-xx-xx格式忽略,但是现在,您最好使用YYYYMMDD格式或日期时间,您还可以使用 YYYY-MM-DDTHH: MM:SS ,例如'2012-10-13T13:02:08'

insert into somethingtable 
 values ('000000','value','$VAR1 = {};' ,'DummyValue',
         '$VAR1 = {};', Cast('20121013 13:02:08.000' AS datetime),
         '0','1','NULL','NULL') 

答案 1 :(得分:0)

也许?

convert(datetime, '2012-10-13 13:02:08.000', 121)

答案 2 :(得分:0)

证明使用getdate()的工作原理,而不是Casting当前的日期时间。