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 );