【发布时间】:2017-10-25 12:12:01
【问题描述】:
在 sql server 2016 上执行以下查询时出现算术溢出错误。
select cast(2958463.99999999 as datetime)
相同的查询在 sql server 2014 上运行良好。
编辑 1-select cast(2958463.9999999 as datetime) 在 sql server 上工作,唯一的区别是它使用小数点后 7 位而不是最初发布的 8 位。
【问题讨论】:
-
此错误是由 Microsoft SQL Server 2016 对日期时间类型的处理发生变化引起的。
-
您确定价值中没有更多内容吗?我只是在几个版本上运行它,并且到处都以相同的方式工作。
-
@YogeshSharma 你能详细说明一下吗?我很好奇。
-
该查询在我的 2016 实例上运行良好。我得到的输出是
9999-12-31 23:59:59.997。 -
甚至 'select cast(2958463.9999999 as datetime)' 小数点后 7 位在 sql server 2016 上运行
标签: sql sql-server sql-server-2014 sql-server-2016