SQL UNION UNION構成要素は、似ていない可能性がある型を1つの検索結果になるように適合させなければなりません。解決アルゴリズムは 1 つの union 問い合わせの出力列毎に適用されます。INTERSECT 構成要素と EXCEPT 構成要素は UNION と同じ方法で、にていない可能性がある型の解決を行います。CASE 構成要素もまた、同一のアルゴリズムを使用して、その要素式を適合させ、結果のデータ型を選択します。
UNION と CASE の型の解決
もしすべての入力値がunknown型だった場合、text型(文字列カテゴリの好ましい型)として解決されます。そうでない場合は、型を選ぶ間はunknown入力は無視します。
もしunknownではない入力値がすべて同じ型カテゴリでなければ失敗します。
最初の unknown ではない入力データ型を選択してください。このデータ型は、そのカテゴリに適切な型であるか、もしくはすべての unknown ではない入力値を暗黙的にこのデータ型に強制型変換することを可能にします。
すべての入力値を選択された型に強制します。
Example 7-7. Union における指定されない型
tgl=> SELECT text 'a' AS "Text" UNION SELECT 'b'; Text ------ a b (2 rows)
ここでは、unknown型のリテラル'b'がtext型として解決されます。