首页 > 解决方案 > SQL Server 日期时间超出范围问题

问题描述

以下查询因错误而失败。所有列的数据类型都是日期时间。

请帮忙。

INSERT INTO [dbo].[TalendJobAudit] ([FeedFileGenDate], [StartTime], [EndTime], [ElapsedTime])
VALUES ('2000-00-00 10:00:00', '2000-00-00 10:00:00', '2000-00-00 10:00:00', '2000-00-00 10:00:00')
GO

我收到此错误:

消息 242,级别 16,状态 3,第 4 行
将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。

标签: sqldatedatetimesql-server-2012

解决方案


没有 0 个月或 0 天。您的代码适用于正确的值:

INSERT INTO TalendJobAudit (FeedFileGenDate, StartTime, EndTime, ElapsedTime)
    VALUES('2000-01-01 10:00:00',
           '2000-01-01 10:00:00',
           '2000-01-01 10:00:00',
           '2000-01-01 10:00:00'
          );

是一个 SQL 小提琴。


推荐阅读