SUBSTR
構文
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
と同じデータ型ですが、例外として、CHAR
引数の場合はVARCHAR2
値が返され、NCHAR
引数の場合はNVARCHAR2
値が返されます。引数としてSUBSTR
に渡された浮動小数点数は、自動的に整数に変換されます。
関連項目:
-
文字長の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』および『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。
-
異なるロケールでの
SUBSTR
ファンクションおよび長さセマンティクスの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。 -
SUBSTR
の文字の戻り値に割り当てる照合を定義する照合導出ルールは、『Oracle Databaseグローバリゼーション・サポート・ガイド』の付録Cを参照してください。
例
次の例では、「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