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

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/fbo1512081269404.ditamap
dita:ditavalPath
ja-JP/fbo1512081269404.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

次の文は、テーブル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