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