Merhaba arkadaşlar bu yazımda sizlere MSSQL veritabanında SQL ifademizde regular expression (düzenli ifadeler) nasıl kullanılır onu göstereceğim.
ilk önce varsayılan olarak Kategori tablomda aşağıdaki kayıtlar var.
Bu kayıtları aşağıdaki gibi sorguladığımızda
1 2 3 |
/****** Script for SelectTopNRows command from SSMS ******/ SELECT TOP (1000) [Id] ,[Name],[Description] FROM [BearerDB].[dbo].[Categories] where name like '%[GY]iyecek%' |
Çıktımız aşağıdaki gibidir.
Farkettiyseniz Diyecek kaydı gelmiyordu . Tamda istediğim bu kaydın sonuçlara dahil edilmemesiydi.
Sadece Like kullanarak bunu aşağıdaki gibi yazabilirdiniz.
1 2 3 |
/****** Script for SelectTopNRows command from SSMS ******/ SELECT TOP (1000) [Id] ,[Name],[Description] FROM [BearerDB].[dbo].[Categories] where name not like '%Diyecek%' and name like '%iyecek%' |
Evet çıktı benzer ama kod karmaşık ? Niye karmaşık derseniz buradaki ihtimal sayısı 1 di ve siz bir AND ile kurtardınız ya çok olsaydı ?? Tek tek and mi ekleyecektiniz .
Bence eklemeyin , Regex pattern’lerini LIKE ile beraber kullanın.
Stored procedure içinde Regex Like kullanımı tamamen yukarıda anlattığım gibidir.
Daha fazla bilgi için Msdn tıklayınız
Herkese iyi çalışmalar, umarım faydalı olmuşumdur 🙂