Sorgulama ve aggregation
LIKE, IN, BETWEEN ve aralıklar
Metin kalıbı, üyelik ve sınırları öğren.
Kavramı anlayalım
LIKE içindeki % sıfır veya daha fazla karakter, _ tek karakter temsil eder. SQL Server köşeli parantezli karakter gruplarını da destekler; bunlar bütün SQL ürünlerinde aynı değildir. Büyük/küçük harf ve aksan eşleşmesi collation’a bağlıdır.
IN, ayrı değerlerden oluşan bir listedir; virgülle ayrılmış tek metin bir liste değildir. BETWEEN iki sınırı da içerir. Tarih-saat aralığında ayın son gününü 23:59:59’a bağlamak hassas değerleri kaçırabilir. Başlangıç dahil, sonraki dönem başlangıcı hariç olan yarı açık aralık daha güvenilirdir.
Arama, seçili kategoriler ve dönem filtreleri için.
BETWEEN’in üst sınırı hariç tuttuğunu sanmak; NOT IN’de NULL tuzağını unutmak.
Aynı konu. Üç farklı derinlik.
SELECT FullName FROM lab.Customer WHERE FullName LIKE N'D%';Deniz bulunur. % kalan karakterleri temsil eder.
Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.
Önce kendin dene.
Fiyatı 800 ile 1800 arasında, sınırlar dahil ürünleri bul.
Çözümü ve açıklamasını göster
SELECT ProductName, Price FROM lab.Product WHERE Price BETWEEN 800 AND 1800;Mouse ve Keyboard. Tarih-saat filtrelerinde aynı kalıp yerine yarı açık aralığı tercih et.