PostgreSQLでのUNION ALLについて

LINEで送る
Pocket

例) SELECT NULL UNION ALL SELECT NULL UNION ALL SELECT 1;

Oracleであれば[NULL] [NULL] [1]といった結果が得られます。(ただしFROM DUALが必要)

しかしPostgreSQLではこれを

(SELECT NULL UNION ALL SELECT NULL) UNION ALL SELECT 1;

と認識するため括弧内を文字型にキャストした後数値型と結合しようとしてエラーになります

ただし下記のような場合だと文字型にキャストするだけなのでエラーは発生しません

SELECT NULL UNION ALL SELECT 1;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です