2

好吧,伙计们,这让我几乎发疯了。我已经尝试使用 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') 

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

4

3 回答 3

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') 
于 2012-10-13T05:12:33.173 回答
0

也许 ?

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

于 2012-10-13T17:53:48.200 回答
0

原来有效的是使用 getdate(),而不是 Casting 当前日期时间。

于 2013-02-14T15:51:35.460 回答