SqlDateTime溢出错误

SqlDateTime溢出错误,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有一个SQL数据库,它似乎已损坏。下面是错误消息 执行批处理时出错。错误消息是:SqlDateTime溢出。必须在1753年1月1日12:00:00 AM和9999年12月31日11:59:59 PM之间 我运行了下面的脚本,现在当我在表中得到结果时,我搜索那些记录,它们不在那里,但是它们找到了吗 SELECT RequestDateTime FROM dbo.PickingSlip WHERE RequestDateTime < '1/1/1753 12:00:00 AM'

我有一个SQL数据库,它似乎已损坏。下面是错误消息

执行批处理时出错。错误消息是:SqlDateTime溢出。必须在1753年1月1日12:00:00 AM和9999年12月31日11:59:59 PM之间

我运行了下面的脚本,现在当我在表中得到结果时,我搜索那些记录,它们不在那里,但是它们找到了吗

SELECT RequestDateTime 
FROM dbo.PickingSlip 
WHERE RequestDateTime < '1/1/1753 12:00:00 AM' 
   OR RequestDateTime > '12/31/9999 11:59:59 PM'
选择RequestDateTime
来自dbo.pickinslip
其中RequestDateTime<'1/1/1753 12:00:00 AM'
或RequestDateTime>“1999年12月31日11:59:59下午”
这是表中的一些数据


Id | RequestedDataFileId | CurrentShelf | PickingSlipStatusId | ByUserId | ForUserId | RequestDateTime | RequestComments | IsPrinted | QueueIdentifier | CreateByUserId | FinalizationDateTime | FinalizationByUserID | ConfigAccountId 10067 | 5356276 | 0007a | 43 | 8 | 6 | 2013-04-23 11:22:32.010 | 1 |空| 2013-04-23 11:22:32.010 | 8 | 2013-04-23 11:23:07.577 | 8 | 5 10068 | 5356547 | 0005A | 43 | 8 | 6 | 2013-04-25 11:10:51.027 | 1 | NULL | 2013-04-25 11:10:51.027 | 8 | 2013-04-25 11:11:20.497 | 8 | 5


正如@DMason在评论中所说,您的比较运算符是错误的

因此,如果您尝试此方法,您应该会得到以下结果:

SELECT RequestDateTime 
FROM dbo.PickingSlip 
WHERE RequestDateTime >= '1/1/1753 12:00:00 AM' 
   OR RequestDateTime <= '12/31/9999 11:59:59 PM'
也可以使用between语法:

SELECT RequestDateTime 
FROM dbo.PickingSlip 
WHERE RequestDateTime BETWEEN '2014-01-01' AND '2014-12-31'
有效日期 要检查有效日期,可以使用检查无效日期并返回行:

SELECT ID, RequestDateTime
FROM PickingSlip
WHERE ISDATE(RequestDateTime) = 0

只需将其更改为
其中ISDATE(RequestDateTime)=1
即可返回有效日期。

的可能重复项,我认为您的查询中已反转了大于/小于运算符。请尝试
其中RequestDateTime>'1/1/1753 12:00:00 AM'或RequestDateTime<'12/31/9999 11:59:59 PM'
此错误消息表示您尝试添加到表中、更新表中或计算的日期超出了有效的日期范围。这并不是说表中的日期无效。我建议您检查您的源文件或转换逻辑,以确保您试图放入表中或更新表中的日期不会超出该范围。对不起,伙计们,blonde,有什么方法可以更改这些记录吗,最简单的方法是什么?你想改变什么?我希望日期格式与数据库格式一致,我希望能够查看所有记录,而不仅仅是正确的记录。我希望我说的有道理?请在帖子中添加一些示例数据,我将使用lookId | RequestedDataFileId | CurrentShelf | PickingSlipStatusId | ByUserId | ForUserId | RequestDateTime | RequestComments | IsPrinted | QueueIdentifier | Created | CreateByUserId | FinalizationDateTime | FinalizationByUserId | AccountConfigId 10067 | 5356276 124276ӟ0007a 1248 1248-04 | 2013-2311:22:32.010 | 1 | NULL | 2013-04-23 11:22:32.010 | 8 | 2013-04-23 11:23:07.577 | 8 | 5 10068 | 5356547 | 0005A | 43 | 8 | 6 | 2013-04-25 11:10:51.027 | NULL | 2013-04-25:11:10:51.027
SELECT ID, RequestDateTime
FROM PickingSlip
WHERE ISDATE(RequestDateTime) = 0