Sql 视图内部的算术溢出
我有一个t-sql视图,其中我从不同的表中查询数据。我使用一个联合体来获取所有数据Sql 视图内部的算术溢出,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,我有一个t-sql视图,其中我从不同的表中查询数据。我使用一个联合体来获取所有数据 Create view ViewName ( ID, Name, Budget, ... ) SELECT ID, Name, Budget, ... FROM Table1 UNION SELECT ID, Name, Budget, FROM Table2 当我查询视图时,我的错误如下。但是,我可以分别选择这两条语句的任何部分,而不
Create view ViewName
(
ID,
Name,
Budget,
...
)
SELECT
ID,
Name,
Budget,
...
FROM Table1
UNION
SELECT
ID,
Name,
Budget,
FROM Table2
当我查询视图时,我的错误如下。但是,我可以分别选择这两条语句的任何部分,而不会出现错误。
我怎样才能解决这个问题
Msg 8115,16级,状态2,第1行
将表达式转换为数据类型bigint时出现算术溢出错误
首先,您应该通过逐个注释列来确定哪个列产生错误:
SELECT
ID
--,Name
--,Budget
...
FROM Table1
UNION
SELECT
ID
--,Name,
--,Budget -- putting commas at beginning is nice in such scenario
FROM Table2
然后必须处理隐式转换和不正确的数据类型
发件人:
以下是使用UNION组合两个查询的结果集的基本规则:
- 在所有查询中,列的数量和顺序必须相同
- 数据类型必须兼容。
VARCHAR
到BIGINT
的转换