Orta Seviye SQL Server Sql Server

SQL Server’da Özel Karakter Aratmak

SQL Server Eğitimleri Kanalına Abone Olun

Herkese merhaba,

Bu yazıda sizlere SQL Server’da özel karakter aratmak hakkında bilgi vereceğim.

SQL Server’da sorgularımızda kullandığımız like ifadesinde _ ve % karakterlerini wildcard olarak değil de sorgu karakteri olarak kullanmak istediğimizde escape karakteri olarak bunları belirtmeliyiz aksi durumda istediğimiz sonucu alamayız.

Konuyu anlamak adına aşağıdaki kodları inceleyelim.

--Tablonun oluşturulması

CREATE TABLE YaziTablosu(
id INT PRIMARY KEY IDENTITY(1,1),
Yazi NVARCHAR(100)
)

--Tabloya veri eklenmesi

INSERT INTO dbo.YaziTablosu
(
    Yazi
)
VALUES
(N'test1' 
    ),
(N'test_1' 
    ),
(N'test%1' 
    ),
(N'test2' 
    ),
(N'test_2' 
    ),
(N'test1' 
    )

--Select sorgusu (Escape kullanmadan)

SELECT * FROM YaziTablosu WHERE Yazi LIKE '%_%' 

Tabloyu oluşturup Yazi sütunu içerisinde alt çizgi olan satırları Escape karakter kullanmadan getir dediğimiz zaman aşağıdaki sonucu göreceksiniz.

Gördüğünüz üzere eklediğim tüm satırlar geldi. Kısaca istediğim sonucu alamadım.

Şimdi aşağıdaki gibi yazıp çalıştıralım.

--Select sorgusu (Escape kullanınca)

SELECT * FROM YaziTablosu WHERE Yazi LIKE '%\_%' ESCAPE '\'

SELECT * FROM YaziTablosu WHERE Yazi LIKE '%=%%' ESCAPE '='

Sorguyu çalıştırınca aşağıdaki sonucu göreceksiniz. Ben ilk sorguyu seçip F5 tuşu ile çalıştırıyorum.

Görüldüğü üzere alt çizgi olan satırlar gelmiş oldu.

Kullanım mantığına gelecek olursak aramak istediğimiz karakter öncesi slash işareti ya da hangi işareti escape karakter olarak belirledi isek o karakteri koymamız ve sonrasında ESCAPE diyerek karakteri belirtmemiz.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

31 Kez Okundu
SQL Server Eğitimleri Kanalına Abone Olun

Yazar hakkında

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli birisiyim.

Kopyalamak Yasaktır!