17.10 - SUBSTRINGとSUBSTRの違い - 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-1145-171K-JPN
Language
日本語 (日本)

SUBSTRINGとSUBSTRの動作は同一ですが、サーバー文字セットがKANJI1でクライアント文字セットがKanjiEBCDICの場合の文字列に対してTeradataモードで動作する場合は例外です。

その場合、SUBSTRはn1とn2を物理単位として解釈するので、DB2準拠のSUBSTRがバイト単位で実行されることになります。結果が正しく書式設定されない場合があるので、シフトアウトとシフトインのバイトは重要です。例えば、結果文字列には、開く側のシフトアウト文字と、閉じる側のシフトイン文字のいずれかが含まれないことがあります。

それ以外の場合で、string_expressionが文字データの場合、SUBSTRINGは1バイト文字とマルチバイト文字の混合文字列を予想し、そのセッションの文字セットで有効な論理文字に対して実行されます。その場合は、n1が結果の最初の文字を指す正の整数になり、n2が論理文字ベースになります。