例: aの値に基づくパーティションの定義 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL関数、式、および述部

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/tpt1555966086716.ditamap
dita:ditavalPath
ja-JP/tpt1555966086716.ditaval
dita:id
B035-1145
Product Category
Software
Teradata Vantage

この例では、CREATE TABLE文を実行しているときのセッションの照合はASCIIです。また、埋め込み文字は<スペース>です。この例では、次に示すaの値に基づいて、2つのパーティション(番号1と2)を定義します。

  • aの値は、'a         '(aの後ろに9個のスペース)から'b         'の間である。
  • aの値は、'b         'から'c         'の間である。
       CREATE SET TABLE t2
          (a VARCHAR(10) CHARACTER SET UNICODE NOT CASESPECIFIC,
           b INTEGER)
       PRIMARY INDEX (a)
       PARTITION BY CASE_N(a BETWEEN 'a' AND 'b', a BETWEEN 'b' AND 'c');

以下のINSERT文では、'b'と'1'の間に1つの<tab>文字が入る文字列を挿入します。

   INSERT t2 ('b	1', 1);

以下のINSERT文では、'b'と'1'の間に1つの<space>文字が入る文字列を挿入します。

   INSERT t2 ('b 1', 2);

以下のSELECT文は、INSERT文の結果を示します。タブ文字はスペース文字よりもコード ポイントが小さいため、最初に挿入された文字列はパーティション1にマップされます。

   SELECT PARTITION, a, b FROM t2 ORDER BY 1;
   *** Query completed. 2 rows found. 3 columns returned.
   *** Total elapsed time was 1 second.
   PARTITION  a          b
 -----------  ------ -----
           1  b 1        1   (string contains single <tab> character)
           2  b 1        2   (string contains single <space> character)