質問

全部を含むクエリを作成しましたが、その2つの部分には同じデータ型がありません。つまり、1つの列を表示する必要がありますが、2つの列の形式は、データに違いがあります。それで、例を取得すると:

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

a と d は数値ですが、形式が異なります。これは、Aの長さが15で、Bの長さは13であることを意味します。浮動小数点の後には数字がありません。数字、varchar、integer、および 10 進数の使用は機能しませんでした。常に次のメッセージが表示されます。 データ変換またはデータマッピングエラー。これらのフィールドを同じ形式に変換するにはどうすればよいですか?

役に立ちましたか?

解決 2

キャスト関数を使用して列の型を同じ型(長さの長いvarchar)に変換したため、問題なくunionを使用しました。元の型が必要なときは、もう一度同じキャスト関数を使用しました (今回は値を float に変換しました)。望んでいた結果が得られました。

他のヒント

DB2 の経験はありませんが、'a' と 'd' を同じ型にキャストすることはできないでしょうか。もちろん、これは両方の形式を処理するのに十分な大きさです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top