호랭이 분석가

SQL Error [42804] : Union types character type and type cannot be matched 본문

AWS/Redshift

SQL Error [42804] : Union types character type and type cannot be matched

데이터호랑이 2022. 8. 1. 22:13
반응형

1. 타입 에러

 

SELECT user_number::varchar -- 고객번호
FROM my_table
UNION ALL 
SELECT user_number::int -- 고객번호
FROM my_table2

 

my_table과 my_table2의 user_number의 타입이 달라 에러가 발생합니다. 

타입을 varchar 또는 int 형식으로 통일을 해주면 에러가 해결됩니다.

 

2. NULL 타입

 

SELECT user_number::int -- 고객번호
     , join_ymd::date -- 가입년월
FROM my_table
UNION ALL 
SELECT user_number::int -- 고객번호
     , NULL
FROM my_table2

 

간혹 NULL 형식을 특정하지 못하여 에러가 발생하는 경우가 있습니다.

NULL 타입을 특정할 수 없을때 발생하는데, 

NULL :: date로 컬럼의 타입을 지정해준다면 에러가 해결됩니다.

Comments