为什么 SELECT INTO 会导致算术溢出?

Wri*_*ree 7 sql-server-2008 sql-server

我在做这个

SELECT * INTO table1 FROM Table0
Run Code Online (Sandbox Code Playgroud)

我在 datetime 列上出现算术溢出(错误转换为 smalldatetime),但是创建的目标模式有一个 datetime 列而不是 smalldatetime 列。

Rob*_*ley 7

在我看来,您对 smalldatetime 进行了隐式转换,可能在计算列中。如果您查看估计的执行计划,您可能会在其中看到计算标量操作。按 F4 查看属性,您应该能够看到正在执行的计算,包括正在使用的任何隐式转换。