Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我已经构建了一个包含 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 函数将列类型转换为相同的类型(长度较大的 varchar)。所以我使用联合没有问题。当我需要它们的原始类型时,我再次使用相同的转换函数(这次我将值转换为浮点数),我得到了我想要的结果。