この記事では、Oracle データベースで replace() 関数を使用して、特定の部分文字列を別の部分文字列に置き換える方法について説明します。
関数の構文
次のコードは、replace() 関数の構文を示しています。
REPLACE(source_string, substring, replacement_string);
この関数は、次の 3 つのパラメーターを受け入れます。
- ソース文字列 – 検索するソース文字列を表します。
- 部分文字列 – 置換する部分文字列を設定します
- replacement_string – 部分文字列の代わりに置換される文字列または文字セットを定義します。
この関数は、出現する部分文字列をすべて replacement_string に置き換えた文字列型を返します。
Oracle Replace() 関数の例
次の例は、さまざまなパラメーターと入力タイプの下で関数がどのように動作するかを示しています。
例 1 – 部分文字列オカレンスの置換
以下の例は、指定されたすべての入力パラメーターを使用した replace() 関数の主な使用法を示しています。
select replace('Oracle データベース開発', 'ab', 'xy') AS 置換デュアルから;
上記のクエリは、replace() 関数を使用して文字 (ab) を (xy) に置き換えます。結果の出力:
置換 |
--------------------------+
オラクルのダチアーゼ開発|
例 2 – Replace 関数を使用して部分文字列を削除する
前述のように、replace() 関数を使用してソース文字列から部分文字列を削除できます。これは、次のように部分文字列から値を提供しない場合に発生します。
SELECT replace('https://linuxhint.com', 'https://') AS d FROM dual;結果:
D |
--------------+
linuxhint.com|
例 3 – テーブルの値を置換する
多くの場合、replace() 関数を使用して、データベース テーブルの値を置き換えます。次の表の例を見てください。
テーブル sample_data を作成(
ID番号、
first_name varchar2(50),
ip_address varchar2(20),
btc_address varchar2(50),
credit_card varchar2(50),
識別子 varchar2(40)、
制約 sample_pk 主キー (id)
);
sample_data に挿入 (id、first_name、ip_address、btc_address、credit_card、identifier)
値 (11、「ワラス」、「169.158.70.77」、「1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q」、「4017955174552」、
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
sample_data(id, first_name, ip_address, btc_address, credit_card, identifier) に挿入
値 (12、「イアン」、「148.190.10.178」、「1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7」、「4017956704480827」、
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
sample_data に挿入 (id、first_name、ip_address、btc_address、credit_card、identifier)
値 (13、「パスクアーレ」、「150.86.18.140」、「126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B」、「4017953296787867」、
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');
更新ステートメントの前:
SELECT FIRST_NAME, IP_ADDRESS, CREDIT_CARD FROM SAMPLE_DATA sd;
replace() 関数を使用して、credit_card 列のすべての 4 を 5 に置き換えることができます。
UPDATE SAMPLE_DATA SET CREDIT_CARD = REPLACE(CREDIT_CARD, '4', '5');更新ステートメントの後:
結果のテーブルで、credit_card 列の値が 4 から 5 に置き換えられていることを確認できます。
結論
このチュートリアルを通じて、Oracle データベースでの replace() 関数の動作を理解しました。