- カテゴリ:
文字列とバイナリ関数 (マッチング/比較)
REPLACE¶
指定されたサブ文字列のすべての出現を削除し、オプションでそれらを別の文字列に置き換えます。
構文¶
REPLACE( <subject> , <pattern> [ , <replacement> ] )
引数¶
subject
サブジェクトは、置換を行う文字列です。通常、これは列ですが、リテラルにすることができます。
pattern
これは、置き換えるサブ文字列です。通常、これはリテラルですが、列または式にすることができます。これは「正規表現」ではありません。正規表現を使用してパターンを検索する場合は、 REGEXP_REPLACE 関数を使用します。
replacement
これは、
pattern
の代替として使用される値です。これが省略されているか、空の文字列である場合、REPLACE
関数はpattern
のすべての出現を削除します。
戻り値¶
返される値は、すべての置換が行われた後の文字列です。
使用上の注意¶
replacement
が指定されていない場合は、subject
が返され、pattern
のすべての出現が削除されます。replacement
が指定されている場合は、pattern
のすべての出現replacement
に置き換えられたsubject
が返されます。引数のいずれかが NULL の場合は、結果も NULL です。
注釈
元の subject
の出現のみが考慮されます。結果に現れる pattern
は削除/置換されません。
照合の詳細¶
Arguments with collation specifications are currently not supported.
例¶
abcd
の bc
文字列を空の文字列に置き換えます。
SELECT REPLACE('abcd', 'bc') FROM DUAL; +-----------------------+ | REPLACE('ABCD', 'BC') | |-----------------------| | ad | +-----------------------+
値の文字列を指定の置換に置き換えます。
CREATE OR REPLACE TABLE replace_example(subject varchar(10), pattern varchar(10), replacement varchar(10)); INSERT INTO replace_example VALUES('snowman', 'snow', 'fire'), ('sad face', 'sad', 'happy'); SELECT subject, pattern, replacement, REPLACE(subject, pattern, replacement) AS new FROM replace_example; +----------+---------+-------------+------------+ | SUBJECT | PATTERN | REPLACEMENT | NEW | |----------+---------+-------------+------------| | snowman | snow | fire | fireman | | sad face | sad | happy | happy face | +----------+---------+-------------+------------+