db2服务器中不同数据类型的联合

db2服务器中不同数据类型的联合,db2,union-all,Db2,Union All,我构建了一个查询,其中包含UNION ALL,但不包括它的两个部分 没有相同的数据类型。我的意思是,我必须显示一列,但是 两列的格式,从那里我得到的数据有差异。 如果我举个例子: select a,b from c union all select d,b from e a和d是数字,但格式不同。这意味着a的长度是15 b的长度是13。浮点后面没有数字。 使用数字、varchar、整数和小数不起作用。 我总是收到这样的信息:数据转换或数据映射错误。 如何将这些字段转换为相同的格式?我没有DB2

我构建了一个查询,其中包含UNION ALL,但不包括它的两个部分 没有相同的数据类型。我的意思是,我必须显示一列,但是 两列的格式,从那里我得到的数据有差异。 如果我举个例子:

select a,b
from c
union all
select d,b
from e
a和d是数字,但格式不同。这意味着a的长度是15 b的长度是13。浮点后面没有数字。 使用数字、varchar、整数和小数不起作用。 我总是收到这样的信息:数据转换或数据映射错误
如何将这些字段转换为相同的格式?

我没有DB2经验,但您不能将“a”和“d”转换为相同的类型。显然,它足够大,可以处理这两种格式。

我使用cast函数将columns类型转换为相同的类型(长度较大的varchar)。因此,我使用union没有问题。当我需要它们的原始类型时,再次使用相同的cast函数(这次我将值转换为float),得到了我想要的结果