ラベル等の印刷位置の変更について

LINEで送る
Pocket

ラベル等の印刷開始位置が変更された場合使用されるUNION ALLですがPostgreSQL環境だとエラーの原因になる恐れがあります

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

PostgreSQLではこれを

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

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

しかし下記のような場合だと文字型にキャストするだけで正常に終了します

SELECT NULL UNION ALL SELECT 1;

印刷開始位置を変更する場合先頭及び次の開始位置まで上記のエラーは起きませんがそれ以降からはこのエラーが起きてしまう可能性が出てきます

そのためテスト時は意識するようにしてください

 

コメントを残す

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