Mysql’de Backslash \ İşareti Nasıl Kaldırılır? (REGEXP_REPLACE)

Mysql‘de backlash yani \ işaretini nasıl kaldıracağımızı öğrenelim. Biraz uyuz bir sorun ve deneye deneye vakit kaybetmenizi istemedim. REGEXP_REPLACE fonksiyonu kullanarak Backslash \ İşareti Nasıl Kaldırılır görelim. Öncelikle MySQL’de yer alan verilerinizde \ işareti varsa bunu doğrudan tırnak içerisine yazmak yanlış. Sebebi ise malum \ işareti beyfendinin kendisi özel bir karakter bu sebeple ek \ işaretleri koymak gerekiyor.

REGEXP_REPLACE Fonksiyonu ile Özel Karakter (\) Kaldırma

MySQL’de yer alan verilerinizdeki \ işaretini değiştirmek için eğer başta REPLACE fonksiyonu kullandıysanız yanıldınız 🙂 Doğru fonksiyon REGEXP_REPLACE olacak.

UPDATE tablo_adi
SET sutun_adi = REGEXP_REPLACE(sutun_adi, '\\\\', '')
WHERE sutun_adi REGEXP '\\\\';

Bu sorgu, “tablo_adi” olarak belirttiğiniz tablodaki “sutun_adi” olarak belirttiğiniz sütunda yer alan verilerdeki ‘\’ karakterlerini kaldıracaktır. REGEXP_REPLACE fonksiyonu, bir dize içindeki belirli deseni arar ve bunu başka bir değerle değiştirir. Burada ‘\\’ deseni, ‘\ ‘ karakterini temsil eder.

Fark ettiyseniz anlatımda 2 tane \ işareti var ama kullanımda 4. Her zaman mottomuz şudur: çalışıyorsa elleme 🙂 Aşağıda ise replace ile nasıl yapabileceğinizi göstermek istiyorum. Zira amaç sadece özel karakter silmek olmayabilir. İşinize yarar belki.

REPLACE Fonksiyonu ile Özel Karakter Kaldırma

UPDATE tablo_adi
SET sutun_adi = REPLACE(sutun_adi, '\\', '')
WHERE sutun_adi LIKE '%\\%';

Bizim gibi işlerle uğraşan her webmaster için Tony Stark mottosu geçerlidir : HATALARINDAN DERS ÇIKARMAK! 🙂

İyi çalışmalar.

AuthorHarun ALP

Bu adam , bilgi sahibi olduğu konularda makalelerini daha bilgilendirici hale getirip görseller ile süslüyor ve seo uyumlu makaleler ortaya çıkarıyor. Güncel webmaster konularını işlemekten keyif alıyor ve genelde her makale aslında bir sorunun çözümü niteliğinde.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir