17.10 - SHOWによって返されるオブジェクト名およびリテラルに含まれる表記不能な文字 - 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-1184-171K-JPN
Language
日本語 (日本)

SHOWリクエストによって返されるオブジェクト名またはリテラルに、セッション文字セット範囲にない文字が含まれている場合、またはそれらの文字が表記不能な場合、名前またはリテラルはUNICODEで区切られた識別子またはリテラルとして表示されます。

表記不能な文字はそれぞれ対応する16進表現にエスケープされます。

BACKSLASH (U+005C)がエスケープ文字として使用される(使用可能な場合)。BACKSLASHが使用できない場合は、以下のようになる。
  • セッション文字セットでYEN SIGN (U+00A5)またはWON SIGN (U+20A9)がBACKSLASHの代わりとなる場合、それがエスケープ文字として使用される。
  • 上記のいずれの文字も使用できない場合、NUMBER SIGN (U+0023)が使用される。

たとえば、次のようになります。

create table u&"#4E00" uescape'#' (i int);
show table u&"#4E00" uescape'#';

セッション文字セットに変換可能であっても、語彙的に名前として識別できないオブジェクト名は、二重引用符で囲まれます。

オブジェクト名の詳細については、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。

エスケープ文字を含むSHOW出力のSQL文での使用

エスケープ文字を含むSHOW出力を別のSQL文で使用することができます。たとえば、以下では前のトピックのSHOW出力を使用しています。

CREATE SET TABLE U&"\4E00" UESCAPE '\' ,NO FALLBACK ,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL,
     CHECKSUM = DEFAULT,
     DEFAULT MERGEBLOCKRATIO
     (
      i INTEGER)
PRIMARY INDEX ( i );