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.
İçerik Haritası
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.