Oracle 置換機能

Oracle Zhi Huan Ji Neng



このチュートリアルでは、Oracle で replace() 関数を使用して、出現するすべての部分文字列を別の文字セットに置き換える方法を学習します。

Oracle Replace() 関数の構文

次のコードは、replace() 関数の構文を示しています。







交換 ( source_string、substring、replacement_string ) ;



この関数は、次の 3 つのパラメーターを受け入れます。



  1. source_string – 検索するソース文字列を定義します。
  2. Substring – 置換する部分文字列を定義します。
  3. replacement_string – 部分文字列の代わりに置換される文字列または文字セットを確立します。これはオプションのパラメーターです。 replacement_string パラメーターの値が欠落している場合、関数はソース文字列からすべての部分文字列を削除します。

同様に、部分文字列が空の場合、関数は何もせず、source_string を返します。





この関数は、出現する部分文字列をすべて replacement_string に置き換えた文字列型を返します。

Oracle Replace() 関数の例

次の例は、さまざまなパラメーターおよび入力タイプで関数がどのように動作するかを示しています。



例 1 – 部分文字列オカレンスの置換

以下の例は、指定されたすべての入力パラメーターを使用した replace() 関数の主な使用法を示しています。

選択する 交換 ( 「オラクルデータベース開発」 「アブ」 'xy' ) AS交換
デュアルから;

上記のクエリは、replace() 関数を使用して文字 (ab) を (xy) に置き換えます。結果の出力:

交換した | |
--------------------------+
オラクルのダチアーゼ開発 | |

例 2 – Replace 関数を使用して部分文字列を削除する

前述のように、replace() 関数を使用してソース文字列から部分文字列を削除できます。これは、次のように部分文字列から値を提供しない場合に発生します。

SELECT 置換 ( 「https://linuxhint.com」 「https://」 ) AS d FROM デュアル;

結果:

D | |
--------------+
linuxhint.com | |

例 3 – テーブルの値を置換する

多くの場合、replace() 関数を使用して、データベース テーブルの値を置き換えます。次の表の例を見てください。

テーブル sample_data を作成
(
ID 番号、
名 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、識別子 )
( 十一 「ワラス」 「169.158.70.77」 「1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q」 「4017955174552」
「26811d77-0a3a-4397-bc33-f7835f7c7ab9」 ) ;
sample_data に挿入 ( ID 、first_name、ip_address、btc_address、credit_card、識別子 )
( 12 'イアン' 「148.190.10.178」 「1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7」 「4017956704480827」
「a69fe590-bc1b-4001-8ff8-154bcdb5802d」 ) ;
sample_data に挿入 ( ID 、first_name、ip_address、btc_address、credit_card、識別子 )
( 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 ( クレジットカード、 '4' '5' ) ;

更新ステートメントの後:

結果のテーブルで、credit_card 列の値が 4 から 5 に置き換えられていることを確認できます。

結論

このチュートリアルを通じて、Oracle データベースでの replace() 関数の動作を理解しました。