17.10 - 例: 結果セットの順序付けにおけるデフォルトおよびユーザー指定の大文字と小文字の区別の影響 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

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

次の文は、テーブルtを作成します。

     CREATE TABLE t (
       a CHAR(4) NOT CASESPECIFIC,
       b BYTEINT)
     PRIMARY INDEX (a,b);
     INSERT INTO t VALUES ('AAAA', 1);
     INSERT INTO t VALUES ('aaaa', 2);
     INSERT INTO t VALUES ('BBBB', 3);
     INSERT INTO t VALUES ('bbbb', 4);

英大文字と英小文字の区別についてのデフォルトが使用される場合には、以下の文は以下の結果テーブルを生成します。

     SELECT *
     FROM t
     ORDER BY a;
     a         b
     ----     ---
     AAAA      1
     aaaa      2
     BBBB      3
     bbbb      4

一方、CASESPECIFICを問合わせに指定する場合、結果は有効な照合順序に応じて、SELECT文の例の直後に来る結果のテーブルの1つとなります。

     SELECT *
     FROM t
     ORDER BY CAST(a AS CASESPECIFIC);

または

     SELECT CAST(a AS CASESPECIFIC), b
     FROM t
     ORDER BY 1;
EBCDIC ASCII MULTINATIONAL
A B A B A B
---- ---- ---- ---- ---- ----
aaaa 2 AAAA 1 aaaa 2
bbbb 4 BBBB 3 AAAA 1
AAAA 1 aaaa 2 bbbb 4
BBBB 3 bbbb 4 BBBB 3