Bu makale, belirli bir alt dizenin oluşumunu başka bir alt dizeyle değiştirmek için Oracle veritabanındaki replace() işlevinin kullanımını incelemektedir.
İşlev Sözdizimi
Aşağıdaki kod, replace() işlevinin sözdizimini gösterir:
REPLACE(kaynak_dizgisi, altdizi, değiştirme_dizgisi);
İşlev üç parametre kabul eder:
- kaynak_dizesi – aranacak kaynak dizgiyi temsil eder.
- alt dizi – değiştirilecek alt dizeyi ayarlar
- değiştirme_dizesi – alt dizenin yerine konulan dizeyi veya karakter kümesini tanımlar.
İş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 parametreler 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.
replace('Oracle veritabanı geliştirme', 'ab', 'xy') AS'yi değiştirinikiliden;
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:
dual'den d olarak replace('https://linuxhint.com', 'https://') SEÇİN;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(
kimlik Numarası,
ad varchar2(50),
ip_adresi varchar2(20),
btc_adresi varchar2(50),
kredi_kartı varchar2(50),
tanımlayıcı varchar2(40),
kısıtlama sample_pk birincil anahtar (kimlik)
);
sample_data'ya ekleyin (kimlik, ad, ip_adresi, btc_adresi, kredi_kartı, tanımlayıcı)
değerler (11, 'Wallas', '169.158.70.77', '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q', '4017955174552',
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
sample_data(kimlik, ilk_ad, ip_adresi, btc_adresi, kredi_kartı, tanımlayıcı) içine ekleyin
değerler (12, 'Ian', '148.190.10.178', '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7', '4017956704480827',
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
sample_data'ya ekleyin (kimlik, ad, ip_adresi, btc_adresi, kredi_kartı, tanımlayıcı)
değerler (13, 'Pasquale', '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.
UPDATE SAMPLE_DATA SET CREDIT_CARD = REPLACE(CREDIT_CARD, '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.