ケースの基準と問題
次の表に、英大文字/英小文字の区別の基準および問題を要約します。
| 大文字小文字の区別 | 使用ルール |
|---|---|
| UPPERCASEが指定されない場合 NOT CASESPECIFICが指定された場合 |
以下は固有インデックスとしてすべて等価です。
|
| 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の項を参照してください。