28 Şubat 2013 Perşembe

Sql LIKE Sorusu


Veritabanındaki varchar bir alan için şöyle bir istek yapıldı;
Kullanıcı tablosundaki(tbl_user) fld_AffiliateID kolonundaki değer 'aff01' ile 'aff50' arasında olan kayıtlar gösterilsin isteniyor.

Böyle bir istediği karşılamak için sql wildcard'ı da kullanarak farklı sorgular yazılabilir; 

1.Sorgu:

SELECT FROM tbl_user
WHERE fld_AffiliateID LIKE 'aff[01234][0123456789]
--NOT: Bu yazdığımız sorguda tabi 50 dahil olmayacaktır.


2.Sorgu:

SELECT * FROM tbl_user
WHERE fld_AffiliateID LIKE 'aff__
AND ISNUMERIC(SUBSTRING(fld_AffiliateID, 4, 2)) = 1 
AND CONVERT(int, SUBSTRING(fld_AffiliateID, 4, 2)) BETWEEN 1 AND 50



Sql Wildcards ile ilgili detaylı bilgi almak için ;)
http://www.w3schools.com/sql/sql_wildcards.asp

Hiç yorum yok:

Yorum Gönder