转换为datetime不适用于sql server 2016

时间:2017-10-25 12:12:01

标签: sql sql-server sql-server-2014 sql-server-2016

我在sql server 2016上执行以下查询时出现算术溢出错误。

select cast(2958463.99999999 as datetime)

相同的查询在sql server 2014上运行正常。

enter image description here

编辑1- select cast(2958463.9999999 as datetime)适用于sql server,唯一的区别是它在小数点后使用了7位数而不是最初发布的8位数。

2 个答案:

答案 0 :(得分:1)

在2016年尝试以下内容(注意最后一位数字)

select cast(2958463.99999996 as datetime)

答案 1 :(得分:1)

您需要拥有最新的SQL Server Management工作室。

这是在服务器版本2014(12.0.4439.1)和2016(13.0.4435.0)的实例上。

注意:

  

SQL Server Management Studio 2017仅适用于实例2016(13.0.1601.5)

上的7位数字

注2:

  

SQL Server Management Studio 2014仅适用于实例上的7位数字   2016年(13.0.4435.0)

     

SQL Server Management Studio 2014适用于实例2016(13.0.1601.5)

上的所有数字      

SQL Server Management Studio 2014适用于实例2014(12.0.4439.1)

上的所有数字

您可以在此处下载最新版本 SQL Server Management Studio 2017

在SQL Server实例2016(13.0.4435.0)上测试 enter image description here

在SQL Server实例2014(12.0.4439.1)上测试 enter image description here

在SQL Server实例2016(13.0.1601.5)上测试 enter image description here