17.10 - 使用上の注意 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データ タイプおよびリテラル

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1143-171K-JPN
Language
日本語 (日本)

ケースの基準と問題

次の表に、英大文字/英小文字の区別の基準および問題を要約します。

大文字小文字の区別 使用ルール
UPPERCASEが指定されない場合

NOT CASESPECIFICが指定された場合

以下は固有インデックスとしてすべて等価です。
  • AAA
  • aaa
  • AaA
  • aAA
UPPERCASE (UC) 文字データは、入力された時点での大文字小文字に関係なく、大文字で格納されます。

変換が実行されるため、列がUPPERCASEと定義されている場合に、「aaa」と入力された文字は「AAA」として格納されます。したがって、固有インデックスに使用される時点で「AAA」と等しくなります。

ルール:すべてのモード

ANSIモードとTeradataモードのどちらでも、次のルールがUPPERCASEに適用されます。
  • SQLリクエスト内でUPPERCASEオプションを指定すれば、保管されている列の大文字小文字の指定割り当てを指定変更することができます。
  • 列がUPPERCASEとして宣言されている場合、小文字はそれに対応する大文字に変換されて格納されます。

    KANJI1サーバー文字セットは、a~zの26文字を大文字に変換するだけであることに注意する必要があります。

  • UPPERCASEは、ISO 10646レパートリーのすべての文字をサポートします。

    文字の列をUPPERCASEになるよう宣言し、'ά'(ギリシャ文字のアルファの小文字に気息記号の付いたもの)と入力した場合、その文字は'Ά'(ギリシャ文字のアルファの大文字に気息記号が付いたもの)として変換され、格納されます。

    同じことが、(UC)修飾子にも適用されます。

    次のSQLの述語の評価結果はTRUEになります。
    'ά' (UC) = 'Ά'
  • 以下に示すデータ型はUPPERCASEをサポートしません。
    • CLOB
    • UDT

UPPERCASE句およびUPPER関数

UPPER関数はANSI SQL:2011規格で定義されている関数であり、値をUPPERCASEとして宣言する方法と同じではありません。詳細は、Teradata Vantage™ - SQL関数、式、および述部、B035-1145のUPPERの項を参照してください。