より大きい文字列から部分文字列を返す文字列関数です。
Synopsis
SUBSTRING(string-expression,start,length)

SUBSTRING(string-expression FROM start FOR length)

{fn SUBSTRING(string-expression,start,length)}
引数
string-expression 部分文字列が得られる文字式。式は文字リテラル (一重引用符で囲む)、列の名前、または他のスカラ関数の結果となります。基本となるデータ型は、任意の文字タイプ (CHAR や VARCHAR など) とすることができます。
start string-expression 内で、部分文字列が開始する場所を指定する整数。string-expression の最初の文字はポジション 1 です。開始位置が文字列の長さ以上である場合、SUBSTRING は空文字列 ('') を返します。開始位置が 1 以下である場合 (ゼロまたは負の数)、部分文字列はポジション 1 で開始しますが、部分文字列の length は開始位置により削減されます。
length オプション — 返される部分文字列の長さを指定する整数。length を指定しない場合、既定で残りの文字列が返されます。
概要
start の値は、部分文字列の開始ポイントを管理します。
length の値は、部分文字列のサイズを管理します。
SUBSTRING に引数として渡される浮動小数点は、小数部を切り捨てることにより、整数に変換されます。
すべての SUBSTRING 引数の値が NULL の場合、SUBSTRING は NULL を返します。
SUBSTRING は、部分文字列を文字列の最初の部分から抽出します。SUBSTR は、部分文字列を文字列の最初の部分または最後の部分のいずれかから抽出できます。これらの 2 つの SQL 関数は引数値をそれぞれ処理します。
SUBSTRING は、ODBC スカラ関数 ({ } 括弧構文) や SQL 汎用関数として使用されます。
以下の例は、"forward" 文字列を返します。
SELECT DISTINCT {fn SUBSTRING( 'forward pass',1,7 )} AS SubText
FROM Sample.Person
以下の例は、"pass" 文字列を返します。
SELECT DISTINCT {fn SUBSTRING( 'forward pass',9,4 )} AS SubText
FROM Sample.Person
以下の例は、各名前の最初の 4 文字を返します。
SELECT Name,SUBSTRING(Name,1,4) AS FirstFour
FROM Sample.Person
関連項目