CASE式における文字データの例: 例1 - Teradata Database - Teradata Vantage NewSQL Engine - CASE式の例: CASE式における文字データの例。

Teradata Vantage™ SQL関数、演算子、式および述部

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xzf1512079057909.ditamap
dita:ditavalPath
ja-JP/xzf1512079057909.ditaval
dita:id
B035-1145
Product Category
Software
Teradata Vantage

次に示す問合わせ結果のサーバー文字セットは、UNICODEになります。これは、CASE式に複数の非リテラル文字式が含まれ、それらの文字セットが異なるためです。

   SELECT i, CASE
               WHEN i=2 THEN column_u
               WHEN i=3 THEN column_j
               WHEN i=4 THEN column_g
               WHEN i=5 THEN column_k
               ELSE column_l
             END
   FROM table_1
   ORDER BY 1;

次の問合わせでは、THEN/ELSE句にFLOAT値とVARCHAR値が含まれているCASE式からVARCHARの結果が戻されます。FLOATのデフォルト書式が30文字未満の文字列であり、USERがVARCHAR(30) CHARACTER SET UNICODEとして設定されているため、結果の長さは30になります。USERがUNICODEであるため、結果はCHARACTER SET UNICODEとなります。

   SELECT a, CASE
                WHEN a=1 
                THEN TIME
                ELSE USER
               END
   FROM table_1
   ORDER BY 1;