Fungsi Ganti Oracle

Fungsi Ganti Oracle



Dalam tutorial ini, kita akan belajar cara menggunakan fungsi replace() dalam Oracle untuk menggantikan semua kejadian subrentetan dengan set aksara lain.

Sintaks Fungsi Oracle Replace().

Kod berikut menunjukkan sintaks fungsi replace():







GANTI ( rentetan_sumber, rentetan kecil, rentetan_gantian ) ;



Fungsi ini menerima tiga parameter:



  1. source_string – mentakrifkan rentetan sumber yang hendak dicari.
  2. Subrentetan – mentakrifkan subrentetan yang akan diganti.
  3. rentetan_penggantian – menetapkan rentetan atau set aksara yang digantikan di tempat rentetan kecil. Ini adalah parameter pilihan. Jika nilai parameter replacement_string tiada, fungsi tersebut mengalih keluar semua kejadian substring daripada rentetan sumber.

Begitu juga, jika subrentetan kosong, fungsi tidak melakukan apa-apa dan mengembalikan rentetan_sumber.





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

Contoh Fungsi Oracle Replace().

Contoh berikut menunjukkan bagaimana 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 menggantikan ( '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
(
ID nombor,
nama_pertama  varchar2 ( lima puluh ) ,
ip_address  varchar2 ( dua puluh ) ,
btc_address varchar2 ( lima puluh ) ,
kad kredit varchar2 ( lima puluh ) ,
pengecam  varchar2 ( 40 ) ,
kekangan sample_pk kunci utama ( ID )
) ;
masukkan ke dalam data_sampel ( ID , nama_pertama, alamat_ip, alamat_btc, kad_kredit, pengecam )
nilai ( sebelas , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
masukkan ke dalam data_sampel ( ID , nama_pertama, alamat_ip, alamat_btc, kad_kredit, pengecam )
nilai ( 12 , 'Ian' , '148.190.10.178' , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , '4017956704480827' ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
masukkan ke dalam data_sampel ( ID , nama_pertama, alamat_ip, alamat_btc, kad_kredit, pengecam )
nilai ( 13 , 'Paskah' , '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 CREDIT_CARD = GANTI ( KAD KREDIT, '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.