我有一个字段:
APP_DATE (smalldatetime)我正在执行这个查询:
INSERT INTO table (TYPE, CODE, APP_DATE, DATE) VALUES ('APP', '123', '02/10/2010 12.30', GETDATE())它失败了:
Msg 296, Level 16, State 3, Line 1
Conversion from datatype char to smalldatetime generated a value not between the interval of valid values.
Instruction has been interrupted.
(0 row(s) affected)我做错了什么?在我看来,它是字段的正确格式。
谢谢您抽时间见我。
编辑: SQL Server 2000
发布于 2010-02-23 21:57:30
只要在你的时间里使用:而不是.。然后它会插入的很好。
发布于 2010-02-23 23:08:57
您是否可以尝试使用ISO-8601 date format (YYYYMMDD HH:MM:SS) -这将始终在SQL Server上运行-无论您的区域和区域设置如何:
INSERT INTO table (TYPE, CODE, APP_DATE, DATE)
VALUES ('APP', '123', '20100210 12:30:00', GETDATE())发布于 2010-02-23 21:54:14
日期时间格式不正确;年份应为4位数字(否则不明确),时间分隔符应为冒号。
2003/01/22 22:31将会工作。参见this article。
https://stackoverflow.com/questions/2318533
复制相似问题