UNION在db2服务器中具有不同的数据类型

时间:2009-09-24 14:46:30

标签: db2 union-all

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

select a,b
from c
union all
select d,b
from e

a和d是数字,但它们的格式不同。这意味着一个长度为15 并且b的长度为13.浮点后没有数字。 使用数字,varchar,整数和小数不起作用。 我总是收到消息:数据转换或数据映射错误。 如何以相同的格式转换这些字段?

2 个答案:

答案 0 :(得分:1)

我没有DB2经验,但你不能只是投'a'和& 'd'到相同的类型。这显然足以处理这两种格式。

答案 1 :(得分:1)

我已经使用了cast函数将列类型转换为相同类型(varchar的长度很长)。所以我使用了union没有问题。当我需要他们的原始类型,再次回来,我使用相同的演员函数(这次我将值转换为浮点数),我得到了我想要的结果。