指定された文字式から得られた部分文字列を返す汎用 SQL 文字列関数です。
Synopsis
SUBSTR(string-expression,start[,length])
引数
string-expression 部分文字列が得られる文字式。式は、列の名前、文字列リテラル、または他のスカラ関数の結果となります。基本データ型は、(CHAR や VARCHAR など) さまざまな文字タイプとして表示されます。
start string-expression 内で、部分文字列が開始される場所を指定する整数。正の数の開始位置は、文字列の最初からの文字数を指定します。string-expression1 の最初の文字はポジション 1 にあります。負の数の開始位置は、文字列の最後からの文字数を指定します。start が 0 (ゼロ) の場合は 1 として扱います。
length オプション — 返される部分文字列の長さを指定する正の整数。この値は、部分文字列が開始位置から右に length の文字数を進んで終了することを指定します。省略された場合、部分文字列は start から string-expression の最後まで進みます。
概要
start は負もありうるので、元の文字列の先頭または末尾から部分文字列を取得します。
SUBSTR に引数として渡される浮動小数点は、小数部を切り捨てることにより、整数に変換されます。
SUBSTR は、Oracle に対する互換性がサポートされています。
以下の例は、3 番目の文字 (C) から文字列の最後までを指定するので、部分文字列 CDEFG を返します。
SELECT DISTINCT SUBSTR('ABCDEFG',3) AS Sub
   FROM Sample.Person
以下の例は、3 番目の文字 (C) から 4 文字分 (F まで) の部分文字列を指定するので、部分文字列 CDEF を返します。
SELECT DISTINCT SUBSTR('ABCDEFG',3,4) AS Sub
   FROM Sample.Person
以下の例は、Caché が、まずオリジナル文字列の末尾から逆方向に 5 文字をカウントし、そこから 4 文字分を返すように指定しているので、CDEF を返します。
SELECT DISTINCT SUBSTR('ABCDEFG',-5,4) AS Sub
   FROM Sample.Person
関連項目