指定された文字式から得られた部分文字列を返す汎用 SQL 文字列関数です。
Synopsis
SUBSTR(string-expression,start[,length])
start は負もありうるので、元の文字列の先頭または末尾から部分文字列を取得します。
SUBSTR に引数として渡される浮動小数点は、小数部を切り捨てることにより、整数に変換されます。
-
start が 0、0、または 1 の場合、返される部分文字列は、その文字列の最初の文字で始まります。
-
start が、文字列の先頭よりも前に位置する負の数の場合、返される部分文字列は、その文字列の最初の文字で始まります。
-
start が文字列の範囲を超えていると、NULL が返されます。
-
length が文字列内の残りすべての文字より長い場合、
start から文字列の最後までの部分文字列が返されます。
-
-
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