例: SUBSTRとSUBSTRINGの違い - 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 ctable1
     (c1 VARCHAR(11) CHARACTER SET KANJI1);

次のテーブルは、KanjiEBCDICクライアント文字セットからKANJI1文字列を抽出する場合のTeradataモードでのSUBSTRとSUBSTRINGの違いを示したものです。

c1の内容 問合わせ 戻り値
MN<ABC >P SELECT SUBSTR(c1,2) FROM ctable1; N<ABC>P
SELECT SUBSTR(c1,3,8) FROM ctable1; <ABC>
SELECT SUBSTR(c1,4) FROM ctable1; ABC >P
シフトアウト(<)がないため、クライアント アプリケーションが、結果のマルチバイト文字を正しく変換できません。
SELECT SUBSTRING(c1 FROM 2)

FROM ctable1;

N<ABC>P
SELECT SUBSTRING(c1 FROM 3 FOR 8)

FROM ctable1;

<ABC>P
SELECT SUBSTRING(c1 FROM 4)

FROM ctable1;

<BC>P