1

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

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

aとdは数字ですが、形式が異なります。これは、aの長さが15、bの長さが13であることを意味します。浮動小数点の後に数字はありません。数字、varchar、整数、および小数の使用は機能しませんでした。私はいつもメッセージを受け取ります:データ変換またはデータマッピングエラー。これらのフィールドを同じ形式に変換するにはどうすればよいですか?

4

2 に答える 2

1

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

于 2009-09-28T07:24:02.657 に答える
1

私はDB2の経験がありませんが、「a」と「d」を同じタイプにキャストすることはできませんか. 明らかに、両方のフォーマットを処理するのに十分な大きさです。

于 2009-09-24T14:55:59.230 に答える