Snowflake: CASEステートメントが日本語を返す時に、文字が欠けたり化けたりする問題の回避策

問題

例えば以下のように別の列の値をもとに日本語を返すような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
Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio