执行以下查询后,我收到错误
向“日期时间”列添加值导致溢出。
我不知道为什么会发生这种情况,因为它已经顺利运行了几周。我只是想在此处添加日期并将它们与开始日期和结束日期进行比较between
clause.
DATEADD(day, -1 , DATEADD(mm, DATEDIFF(mm,0,posting_date),0)) BETWEEN start_date and end_date
我可以使用以下内容重复该错误:
declare @posting_date datetime
set @posting_date = '1/1/1753'
select DATEADD(day, -1 , DATEADD(mm, DATEDIFF(mm,0,@posting_date),0))
运行后报错:
消息 517,级别 16,状态 1,第 3 行 向“日期时间”添加值
列导致溢出。
基本上,上述情况中的posting_date是SQL Server允许的最小日期时间值。如果您随后尝试从中减去 1 天,则会进入溢出状态。
我的猜测是你有一个数据点设置为SQL Server 最小日期值 https://stackoverflow.com/questions/3310569/what-is-the-significance-of-1-1-1753-in-sql-server.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)