Bu öğreticide, bir alt dizginin tüm oluşumlarını başka bir karakter kümesiyle değiştirmek için Oracle'da replace() işlevini nasıl kullanacağımızı öğreneceğiz.
Oracle replace() İşlev Sözdizimi
Aşağıdaki kod, replace() işlevinin sözdizimini gösterir:
YER DEĞİŞTİRMEK ( kaynak_dizesi, altdizgi, değiştirme_dizgisi ) ;
İşlev üç parametre kabul eder:
- source_string – aranacak kaynak dizgiyi tanımlar.
- Alt dize - değiştirilecek alt dizeyi tanımlar.
- replace_string - alt dize yerine ikame edilen dizeyi veya karakter kümesini oluşturur. Bu isteğe bağlı bir parametredir. replace_string parametresinin değeri eksikse işlev, alt dizenin tüm oluşumlarını kaynak dizeden kaldırır.
Benzer şekilde, alt dize boşsa, işlev hiçbir şey yapmaz ve kaynak_dizeyi döndürür.
İşlev, değiştirme_dizesi ile değiştirilen alt dizenin tüm oluşumlarının yer aldığı bir dize türü döndürür.
Oracle replace() İşlev Örnekleri
Aşağıdaki örnekler, işlevin çeşitli parametre ve giriş türleri altında nasıl davrandığını gösterir:
Örnek 1 – Alt Dize Oluşumunu Değiştirin
Aşağıdaki örnek, sağlanan tüm giriş parametreleriyle replace() işlevinin birincil kullanımını göstermektedir.
seçme yer değiştirmek ( 'Oracle veritabanı geliştirme' , 'ab' , 'xy' ) değiştirildiği gibiikiliden;
Yukarıdaki sorgu, (ab) karakterlerini (xy) ile değiştirmek için replace() işlevini kullanır. Ortaya çıkan çıktı:
DEĞİŞTİRİLDİ |--------------------------+
Oracle datxyase geliştirme |
Örnek 2 – Bir Alt Dizeyi Kaldırmak İçin Değiştirme İşlevini Kullanma
Bahsedildiği gibi, kaynak dizgiden bir alt dizgiyi kaldırmak için replace() işlevini kullanabiliriz. Bu, gösterildiği gibi alt dizeden değer sağlamadığımızda oluşur:
SEÇ değiştir ( 'https://linuxhint.com' , 'https://' ) AS d İLE ikili;Sonuç:
D |-------------+
linuxhint.com |
Örnek 3 – Bir Tablodaki Değerleri Değiştirin
Bir veritabanı tablosundaki değerleri değiştirmek için sık sık replace() işlevini kullanırız. Gösterilen örnek tabloyu alın:
tablo sample_data oluştur(
İD sayı,
ad varchar2 ( elli ) ,
ip_adresi varchar2 ( yirmi ) ,
btc_adresi varchar2 ( elli ) ,
kredi_kartı varchar2 ( elli ) ,
tanımlayıcı varchar2 ( 40 ) ,
kısıtlama sample_pk birincil anahtarı ( İD )
) ;
sample_data içine ekle ( İD , ad, ip_adresi, btc_adresi, kredi_kartı, tanımlayıcı )
değerler ( on bir , 'Valla' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
sample_data içine ekle ( İD , ad, ip_adresi, btc_adresi, kredi_kartı, tanımlayıcı )
değerler ( 12 , 'Ian' , '148.190.10.178' , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , '4017956704480827' ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
sample_data içine ekle ( İD , ad, ip_adresi, btc_adresi, kredi_kartı, tanımlayıcı )
değerler ( 13 , 'Paskalya' , '150.86.18.140' , '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B' , '4017953296787867' ,
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35' ) ;
Güncelleme bildiriminden önce:
SAMPLE_DATA sd'DEN FIRST_NAME, IP_ADDRESS, CREDIT_CARD SEÇİN;
Credit_card sütunundaki tüm 4 oluşumlarını 5 ile değiştirmek için replace() işlevini kullanabiliriz.
GÜNCELLEME SAMPLE_DATA SET CREDIT_CARD = DEĞİŞTİR ( KREDİ KARTI, '4' , '5' ) ;Güncelleme bildiriminden sonra:
Ortaya çıkan tabloda, kredi kartı sütunlarındaki değerlerin 4'ten 5'e değiştirildiğini doğrulayabiliriz.
Çözüm
Bu öğretici aracılığıyla, Oracle veritabanlarında replace() işlevinin çalışmasını anladınız.