개요
Tibero에서 "Union"을 사용하는데 "JDBC-11022:Values are from incompatible data types"에러가 발생하였습니다.
상세 내용
Tibero에서 "UNION"아래와 같이 사용하는데 에러가 발생하였습니다.
SELECT
"Korea" AS KName
FROM
DUAL
UNION ALL
SELECT
KNmae
FROM
Contry
WHERE 1=1
AND ContryType = "A"
KName 이 varchar(16) 이어서 잘 동작할 거라 생각하고 작업하였으나 동작하지 않았습니다.
몇 번 삽질을 통해 알게 된 내용은 "UNION" 사용 시 컬럼의 데이터 타입까지 설정을 해주어야 합니다.\
자동으로 타입을 맞추어 동작할거라 착각을 하여 발생한 문제였습니다.
수정본
SELECT
CAST("Korea" as NVARCHAR(16)) AS KName
FROM
DUAL
UNION ALL
SELECT
KNmae
FROM
Contry
WHERE 1=1
AND ContryType = "A"
KName 컬럼이 NVARCHAR(16)이어서 "CAST" 연산자( CAST 연산자 사용 방법 )를 통해서 형변환을 해주면 됩니다.
'Tibero' 카테고리의 다른 글
Tibero에서 CAST 연산자 사용 방법 (0) | 2024.03.11 |
---|