Sorgulama ve aggregation
Sayısal işlemler ve tip dönüşümü
Hesaplama doğru olsa bile tip sonucu değiştirebilir.
Kavramı anlayalım
ROUND yuvarlar, ABS mutlak değer verir; CAST ve CONVERT tip dönüştürür. CONVERT SQL Server’a özgü biçim seçenekleri taşır. TRY_CAST ve TRY_CONVERT, desteklenen fakat başarısız dönüşümlerde NULL döndürür; bütün yasak dönüşümleri veya uzunluk sınırlarını sihirli biçimde çözmez.
Tam sayıların bölünmesi kesirli kısmı kaybedebilir. Payı bölmeden önce decimal’a çevir. NULLIF(x, 0) sıfır paydayı NULL yapar; sonucun NULL olması bilinçli olarak ele alınmalıdır. Veriyi TRY_CONVERT ile gizlemek yerine hangi satırların dönüştürülemediğini ayrıca raporla.
Oran, tutar, içe aktarma ve doğrulama hesaplarında.
5/2 işlemini yaptıktan sonra decimal’a çevirerek kaybolan kesri geri getirmeyi beklemek.
Aynı konu. Üç farklı derinlik.
SELECT ROUND(CAST(19.876 AS decimal(10,3)), 2) AS Rounded;Sayısal değer 19.88 olur; çıktı ölçeği tipten dolayı üç basamak gösterebilir.
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.
18 kalemi 12 siparişe bölerek sipariş başına ortalama kalem sayısını bul.
Çözümü ve açıklamasını göster
SELECT CAST(18 AS decimal(10,2)) / 12 AS AverageLines;Sonuç 1.5. Bu örnekte her siparişin kalemi bulunduğu varsayımı veri setiyle doğrulanır.