执行此 SELECT 语句时遇到问题:
SELECT *
FROM Table1
ORDER BY column1, column2
我收到关于算术溢出的错误。我发现哪一列是问题,那somecolumn
是 numeric(10, 0) 但在某些行中包含超过 10 个数字,并且不要问我是怎么发生的,因为我不知道 :)
我只是删除了足够的数字,使列最多有 10 位数字,这解决了该错误的错误,但问题是大约有 100 行这样的行。
问题是:什么会导致这样的问题,以及如何编写正确的 SQL 语句来选择这些行?
在我看来,问题最终可能是某种截断列中值的方式。这只是一个假设:可能第一个列是数字(20, 0),并且包含 10 或 11 位数字的值,但后来有人决定必须将此列更改为数字(10, 0),然后出现问题。这只是一些假设。