REPLACE
REPLACEは、指定した文字列の連続文字を別の文字列に置換するか、文字列をすべて削除します。
SQL構文
REPLACE (String, SearchString [,ReplacementString] )
パラメータ
REPLACEには、次のパラメータがあります。
| パラメータ | 説明 |
|---|---|
|
|
置換するサブストリングを含むソース文字列。 |
|
|
元の文字列で置換される文字列。 |
|
|
元の文字列に出現するすべての検索文字列の置換に使用される文字列。 |
説明
-
REPLACEは、ソースString内で出現するすべてのSearchStringがReplacementStringに置換された文字列を戻します。 -
String、SearchStringおよびReplacementStringには、CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOBまたはNCLOBのデータ型を指定できます。TimesTenデータ型およびOracle Databaseデータ型の両方がサポートされます。BLOBを除く文字ではないすべてのデータ型は、暗黙的に文字列データ型に変換されます。 -
StringがCHARまたはVARCHAR2の場合、戻される文字列はVARCHAR2データ型になります。StringがNCHARまたはNVARCHAR2の場合、戻される文字列はNVARCHAR2データ型になります。CLOBまたはNCLOBデータ型の場合、戻されるデータ型はStringで指定されたデータ型と同じになります。文字セットは、ソースStringと同じになります。 -
戻される文字列の長さが0(ゼロ)の場合、
NULLがOracle Database データ型に戻され、長さ0(ゼロ)の文字列がTimesTenデータ型に戻されます。すべてのデータ型の詳細は、「データ型」を参照してください。
例
次の例では、Canadaのすべての場所を出力し、国コードCAをCanadaに置換して読みやすくします。
Command> SELECT location_id, street_address,
city, state_province, postal_code,
REPLACE(country_id, 'CA', 'Canada')
FROM LOCATIONS
WHERE country_id LIKE 'CA';
< 1800, 147 Spadina Ave, Toronto, Ontario, M5V 2L7, Canada >
< 1900, 6092 Boxwood St, Whitehorse, Yukon, YSW 9T2, Canada >
2 rows found.