月別アーカイブ: 2019年3月

PostgreSQLでのUNION ALLについて

例) 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;