• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

SQL Like kullanımında türkçe karakter sorunu

sarigozoglu

Altın Üye
Katılım
26 Eylül 2014
Mesajlar
85
Excel Vers. ve Dili
Office 365 TR-32
Merhaba arkadaşlar.

Textboxlar yardımı ile LIKE kullanarak Netsis SQL Server'dan sorgu yapıyorum. Tam projemi bitirdim derken, "İ" gibi harflerle sorgu yapamadığımı farkettim.


If ARAMA1.Text <> "" Then S = "Select ADI from bilgiler WHERE ADI like '%" & ARAMA1.Value & "%' "

Adı "İ" ile başlayanların sorgusu çalışmıyor.

Veritabanına baktığımda "İSMAİL" ismi "ÝSMAÝL" şeklinde görünmekte. Like '%İ%' yapınca sorgu boş dönüyor.
Veriyi alırken Türkçe karakter sorununu "Auto Translate=False" ile çözdüğümü sanıyordum

Bu sorunu nasıl çözebilirim, yardımcı olabilir misiniz ?
 
Son düzenleme:
Selamlar,

Kullanıcı tanımlı fonksiyon ile çözülebilir.

Kod:
CREATE FUNCTION  [dbo].[TRK2]   ( @girdi NVARCHAR(MAX) )
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @sonuc NVARCHAR(MAX)
SET @sonuc = @girdi
SET @sonuc = Replace(@sonuc COLLATE Latin1_General_BIN,N'?', N'ğ'); 
SET @sonuc = Replace(@sonuc COLLATE Latin1_General_BIN,N'?', N'Ğ'); 
SET @sonuc = Replace(@sonuc COLLATE Latin1_General_BIN, N'Ð', N'Ğ');
SET @sonuc = Replace(@sonuc COLLATE Latin1_General_BIN,N'y', N'ı'); 
SET @sonuc = Replace(@sonuc COLLATE Latin1_General_BIN,N'Ý', N'İ');
SET @sonuc = Replace(@sonuc COLLATE Latin1_General_BIN,N'?', N'ş'); 
RETURN @sonuc COLLATE Turkish_CI_AS ;
END

Kullanım;

Kod:
[dbo].[TRK2](ADI)
 
Merhaba Vedat Bey,

Dediğiniz şekilde yaptım emeğinize sağlık harika oldu. Fakat büyük "Ş" harfinde soru işareti (?) gelmekteydi onu da;
Kod:
SET @sonuc = Replace(@sonuc COLLATE Latin1_General_BIN,N'Þ', N'Ş');
ekleyerek çözdüm.
Harikasınız yoksa projeyi çöpe atacaktım.
 
Son düzenleme:
Geri
Üst