Ganti Oracle

Ganti Oracle



Artikel ini meneroka penggunaan fungsi replace() pada pangkalan data Oracle untuk menggantikan kejadian subrentetan tertentu dengan subrentetan lain.

Sintaks Fungsi

Kod berikut menunjukkan sintaks fungsi replace():







REPLACE(rentetan_sumber, subrentetan, rentetan_ganti);

Fungsi ini menerima tiga parameter:



  1. rentetan_sumber – mewakili rentetan sumber yang hendak dicari.
  2. Subrentetan – menetapkan subrentetan untuk diganti
  3. rentetan_penggantian – mentakrifkan rentetan atau set aksara yang digantikan di tempat subrentetan.

Fungsi ini mengembalikan jenis rentetan dengan semua kemunculan subrentetan digantikan dengan rentetan_penggantian.



Contoh Fungsi Oracle Replace().

Contoh berikut menunjukkan cara fungsi berfungsi di bawah pelbagai parameter dan jenis input:





Contoh 1 – Gantikan Kejadian Substring

Contoh di bawah menggambarkan penggunaan utama fungsi replace() dengan semua parameter input yang disediakan.

pilih ganti('Pembangunan pangkalan data Oracle', 'ab', 'xy') AS diganti
daripada dual;

Pertanyaan di atas menggunakan fungsi replace() untuk menggantikan aksara (ab) dengan (xy). Keluaran yang terhasil:



DIGANTIKAN                    |
--------------------------+
Pembangunan Oracle datxyase|

Contoh 2 – Menggunakan Fungsi Ganti untuk Mengeluarkan Subrentetan

Seperti yang dinyatakan, kita boleh menggunakan fungsi replace() untuk mengalih keluar subrentetan daripada rentetan sumber. Ini berlaku apabila kami tidak memberikan nilai daripada subrentetan seperti yang ditunjukkan:

PILIH ganti('https://linuxhint.com', 'https://') AS d DARIPADA dwi;

Hasil:

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

Contoh 3 – Gantikan Nilai dalam Jadual

Kami sering menggunakan fungsi replace() untuk menggantikan nilai dalam jadual pangkalan data. Ambil contoh jadual yang ditunjukkan:

buat sampel_data jadual
(
nombor ID,
nama_pertama  varchar2(50),
ip_address  varchar2(20),
btc_address varchar2(50),
kad_kredit varchar2(50),
pengecam varchar2(40),
kekangan sample_pk kunci utama (id)
);
masukkan ke dalam sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
nilai (11, 'Wallas', '169.158.70.77', '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q', '4017955174552',
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
masukkan ke dalam sample_data(id, first_name, ip_address, btc_address, credit_card, identifier)
nilai (12, 'Ian', '148.190.10.178', '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7', '4017956704480827',
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
masukkan ke dalam sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
nilai (13, 'Pasquale', '150.86.18.140', '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B', '4017953296787867',
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');

Sebelum kemas kini kenyataan:

PILIH FIRST_NAME, IP_ADDRESS, CREDIT_CARD DARI SAMPLE_DATA sd;

Kita boleh menggunakan fungsi replace() untuk menggantikan semua kejadian 4 dalam lajur credit_card dengan 5.

KEMASKINI SAMPLE_DATA SET KREDIT_CARD = REPLACE(CREDIT_CARD, '4', '5');

Selepas kenyataan kemas kini:

Dalam jadual yang terhasil, kami boleh mengesahkan nilai dalam lajur kad_kredit telah digantikan daripada 4 hingga 5.

Kesimpulan

Melalui tutorial ini, anda memahami kerja fungsi replace() dalam pangkalan data Oracle.