現象の発生時
下記のようなSQLを実行してみてください。
select 1, 'text', null
union all
select 2, 'text', null
union all
select 3, 'text', 1
すると、下記のようなエラーが返ります。
ERROR: UNION types text and integer cannot be matched
LINE 5: select 3, 'text', 1
解決方法
null と null が 和集合(union all)で二回続くと、text型に認識されるようです。そのため、下記のようにします。
select 1, 'text', cast( null as integer )
union all
select 2, 'text', null
union all
select 3, 'text', 1
コメント