SQL'de bir String'i değiştirin

Sql De Bir String I Degistirin



Geliştiricilerin adlandırdığı şekliyle metin verileri veya dizeler, herhangi bir işlevsel program için önemli bir yapı taşıdır. Verilerin saklanması söz konusu olduğunda da durum farklı değildir. Neredeyse tüm veritabanları adlar, günlükler vb. gibi bir tür metin bilgisi içerir.

Bu nedenle, dize manipülasyonu, dize değerlerinin işlenmesini ve belirli bir formata dönüştürülmesini içeren yaygın bir görevdir.

SQL'de dize işlemleriyle ilgilenen en güçlü işlevlerden biri REGEXP_REPLACE() işlevidir. Bu işlev, normal ifadeye dayalı arama ve değiştirme işlemlerini gerçekleştirmemize olanak tanır. Düzenli ifadeye aşina iseniz bu fonksiyonun ne kadar güçlü olabileceğini bilirsiniz.







Bu derste, SQL veritabanındaki dizeleri aramak ve değiştirmek için bu işlevi nasıl kullanabileceğimizi öğreneceğiz.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE(), belirli bir dize içinde düzenli ifadeye dayalı kalıp eşleştirme ve değiştirme işlemlerini gerçekleştirmemize olanak sağlayan bir işlevdir.



Düzenli ifade veya regex, belirli bir modeli takip eden dizeleri veya alt dizeleri eşleştirmemize ve değiştirmemize olanak tanıyan bir dizi kalıp ve yer tutuculardır.





Her veritabanı motorunun, işlevin sözdizimini ve işlevselliğini bir miktar uygulayabileceğini akılda tutmakta fayda var.

Ancak sözdizimini şu şekilde ifade edebiliriz:



REGEXP_REPLACE(giriş_dizesi, kalıp, değiştirme [, işaretler])

Fonksiyon parametreleri aşağıdaki gibi ifade edilir:

  1. input_string – Bu, içinde aramak ve değiştirmek istediğimiz dizeyi belirtir.
  2. Desen – Bu, giriş dizesinde eşleştirmek istediğimiz normal ifade modelini belirtir.
  3. Değiştirme – Bu, eşleşen alt dizelerin yerini alan dizeyi belirtir.
  4. Bayraklar – Normal ifadenin işlevselliğini değiştirmeye yardımcı olabilecek bir dizi isteğe bağlı bayrak. Örneğin, genel aramayı, büyük/küçük harfe duyarlı olmayan eşleştirmeyi vb. etkinleştirebiliriz. Bu özellik, veritabanı motoruna bağlı olarak değişir.

Örnekler:

Bu fonksiyonun nasıl çalıştığını daha iyi anlamak için nasıl kullanılacağına dair bazı örneklere bakalım.

Örnek 1: Temel Kullanım

Aşağıdaki örnek çıktıda gösterildiği gibi çalışan bilgilerini içeren bir tablomuz olduğunu varsayalım:

'Charlie' dizesinin oluşumunu 'Matthew' olarak değiştirmek istediğimiz bir durumu düşünün. Sorguyu şu şekilde kullanabiliriz:

SEÇME

REGEXP_REPLACE(ad, 'Charlie', 'Matthew') AS yeni_ad

İTİBAREN

çalışanlar;

Verilen örnek, 'first_name' sütunundan 'Charlie' dizesini bulmak ve onu 'Matthew' ile değiştirmek için temel bir arama ve değiştirme işlemini göstermektedir.

Çıktı:

Örnek 2: Büyük/Küçük Harfe Duyarsız Değiştirme

Bazı durumlarda, büyük/küçük harfe duyarlı olmayan bir arama yapmak isteyebilirsiniz. Bu, işlevin alfasayısal harflerin gerçek büyük/küçük harf durumuna değil, yalnızca dize içeriğine bakacağı anlamına gelir.

Böyle bir durumda fonksiyon bayrağı olarak “i”yi şu şekilde kullanırız:

REGEXP_REPLACE(product_description, Samsung, Apple, 'i') değiştirildiği şekliyle SEÇİN

ÜRÜNLERDEN;

Bayrağı 'i' olarak ayarladığınızda işlev, büyük/küçük harfe bakılmaksızın 'Samsung' ile eşleşen tüm sözcükleri eşleştirir.

Çözüm

Bu örnekte, düzenli ifade desenine dayalı arama ve değiştirme gerçekleştirmek için REGEXP_REPLACE() işlevinin nasıl kullanılacağını ve onunla nasıl çalışılacağını araştırdık.