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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.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