SQLite Türkçe karakterlerde LIKE kullanımı - Arama yapmak
Selamlar,
SQLite içerisinde bazı Türkçe karakterlerle kayıtlı satırları normal bir Like kullanımıyla çözemeyebiliriz. Bunun için birkaç çözüm yolu bulunuyor.
1. Çözüm: Sorgu sonuna şunu ekleyin:COLLATE BINARY
2. Çözüm: Sorgu yaptığınız sütundaki satırları replace ile genel karakter seti haline getirin. Yani İngilizce karakterlerle kullanım sağlayın. Detaylandıralım, örnek sorgu:
Where replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(lower(ProductName), 'Ç', 'c'), 'G', 'g'), 'S', 's'), 'ç','c'), 'ğ','g'), 'İ','i'),'I','i'),'Ö','o'),'ö','o'),'Ü','u'),'ü','u') LIKE '%"+Product+"%'";
Yani önce sütundaki verileri replace yaptırıyorum. Like kullanımı yaptığım yerde Türkçe karakterli değil, latin karakterleri şeklinde yaptırıyorum. Ç olduğunda c harfine getiriyor. Like kullanımındaki yerde de replace kullanabilirim ancak burada kullanmadım. Sorguya dahil ettiğim yerde o kısma Türkçe karakter olmadan veriyi gönderiyorum.
İkincisi daha net bir çözümdür.
İyi çalışmalar,
Recep.
Bu gönderiyi 04.05.2019 01:47:21 tarihinde Rserit düzenledi.