SUBSTRING - ソース文字列からサブ文字列を抽出
SUBSTRING 関数は、ソース文字列からサブ文字列を抽出します。サブ文字列に指定した終了位置がソース文字列の末尾を超える場合、ソース文字列の最終文字の位置は、サブ文字列の終了位置になります。
ソース文字列からサブ文字列を抽出
SUBSTRING(string, position, length)
説明
string
文字
サブ文字列を抽出する文字列です。この文字列には、フィールド、一重引用符 (') で囲んだリテラル、または変数のいずれかを指定することができます。
position
正の整数
string で指定した文字列内のサブ文字列の開始位置です。
length
整数
サブ文字列の長さ制限値です。サブ文字列の終了位置は、「position + length - 1」で計算されます。計算された位置がソース文字列の末尾を超える場合、string で指定した文字列の最終文字の位置が、サブ文字列の終了位置になります。
返されるサブ文字列のデータタイプは AnV です。
ソース文字列からサブ文字列を抽出
次のリクエストでは、POSITION 関数が LAST_NAME フィールドで最初に出現する文字「I」の位置を特定し、結果を I_IN_NAME フィールドに格納します。次に、SUBSTRING 関数が LAST_NAME フィールドで「I」から始まる 3 文字を抽出し、その結果を I_SUBSTR フィールドに格納します。
TABLE FILE EMPLOYEE
PRINT
COMPUTE
I_IN_NAME/I2 = POSITION('I', LAST_NAME); AND
COMPUTE
I_SUBSTR/A3 =
SUBSTRING(LAST_NAME, I_IN_NAME, I_IN_NAME+2);
BY LAST_NAME
ON TABLE SET PAGE NOPAGE
END
出力結果は次のとおりです。
LAST_NAME I_IN_NAME I_SUBSTR
--------- --------- --------
BANNING 5 ING
BLACKWOOD 0 BL
CROSS 0 CR
GREENSPAN 0 GR
IRVING 1 IRV
JONES 0 JO
MCCOY 0 MC
MCKNIGHT 5 IGH
ROMANS 0 RO
SMITH 3 ITH
3 ITH
STEVENS 0 ST