例 - Teradata Database - Teradata Vantage NewSQL Engine - 文字列演算子、TRANSLATE_CHKの例。

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
機能 結果
TRANSLATE_CHK(‘abc’ USING UNICODE_TO_LATIN) 0
TRANSLATE_CHK(‘abc ’ USING UNICODE_TO_LATIN) 4

次のテーブル定義を考えます。

   CREATE TABLE table_1
     (cunicode CHARACTER(64) CHARACTER SET UNICODE);

cunicode内でLATINに変換できるすべての値を取り出すには、次の文を使用します。

   SELECT cunicode
   FROM table_1
   WHERE TRANSLATE_CHK(cunicode USING Unicode_TO_Latin) = 0;

次のテーブル定義を考えます。

   CREATE TABLE table_1
     (ckanji1 VARCHAR(20) CHARACTER SET KANJI1);
   
   CREATE TABLE table_2
    (cunicode CHARACTER(20) CHARACTER SET UNICODE);

table_1はKanjiEUCクライアント文字セットから取り込まれているものとします。

table_1内のckanji1の中のデータをUNICODEに変換して、エラーがない変換をtable_2に取り込むには、次の文を使用します。

   INSERT INTO table_2
   SELECT TRANSLATE(ckanji1 USING Kanji1_KanjiEUC_TO_Unicode)
   FROM table_1
   WHERE TRANSLATE_CHK(ckanji1 USING Kanji_KanjiEUC_TO_Unicode) = 0;

table_1内のckanji1列をtable_2のcunicode列に変換したら、table_1内で変換できなかったすべてのフィールドを取り出します。

   SELECT ckanji1
   FROM table_1
   WHERE TRANSLATE_CHK(ckanji1 USING Kanji1_KanjiEUC_TO_Unicode) <> 0;