例えば以下のように別の列の値をもとに日本語を返すようなCASEステートメントを実行すると、文字が欠けたり、文字化けする場合があります。
select
C_NATIONKEY,
case
when C_NATIONKEY = 14 then '東京都'
when C_NATIONKEY = 15 then '神奈川県'
when C_NATIONKEY = 16 then '埼玉県'
else to_varchar('その他')
end as JAPANSE_TEST
from "TPCH_SF1".CUSTOMER
以下のように日本語の部分にto_varchar()
関数をかけることで、文字が欠けたり化けたりする問題を回避できます。
select
C_NATIONKEY,
case
when C_NATIONKEY = 14 then to_varchar('東京都')
when C_NATIONKEY = 15 then to_varchar('神奈川県')
when C_NATIONKEY = 16 then to_varchar('埼玉県')
else to_varchar('その他')
end as JAPANSE_TEST
from "TPCH_SF1".CUSTOMER