構文
substr::=

用途
SUBSTRの各ファンクションは、charのpositionの文字からsubstring_length文字分の文字列を抜き出して戻します。SUBSTRは、入力キャラクタ・セットによって定義された文字を使用して、長さを計算します。SUBSTRBは、文字のかわりにバイトを使用します。SUBSTRCは、完全なUnicodeキャラクタを使用します。SUBSTR2は、UCS2コードポイントを使用します。SUBSTR4は、UCS4コードポイントを使用します。
positionが0の場合、1として処理されます。
positionが正の場合、Oracle Databaseはcharの始めから数えて最初の文字を検索します。
positionが負の場合、Oracleはcharの終わりから逆方向に数えます。
substring_lengthを指定しないと、Oracleはcharの終わりまでのすべての文字を戻します。substring_lengthが1より小さい場合、NULLを戻します。
charのデータ型は、CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOBまたはNCLOBです。例外は、SUBSTRC、SUBSTR2およびSUBSTR4です。これらでは、charをCLOBおよびNCLOBのいずれにもできません。positionおよびsubstring_lengthは、NUMBERデータ型か、または暗黙的にNUMBERに変換可能な任意のデータ型で、整数である必要があります。戻り値は、charと同じデータ型です。引数としてSUBSTRに渡された浮動小数点数は、自動的に整数に変換されます。
|
関連項目: 異なるロケールでのSUBSTRファンクションおよび長さセマンティクスの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。 |
例
次の例では、「ABCDEFG」の指定されたサブストリングを戻します。
SELECT SUBSTR('ABCDEFG',3,4) "Substring"
FROM DUAL;
Substring
---------
CDEF
SELECT SUBSTR('ABCDEFG',-5,4) "Substring"
FROM DUAL;
Substring
---------
CDEF
データベース・キャラクタ・セットがダブルバイトの場合を想定します。
SELECT SUBSTRB('ABCDEFG',5,4.2) "Substring with bytes"
FROM DUAL;
Substring with bytes
--------------------
CD