Veritabanı yönetim sistemlerinde sadece verileri saklamakla kalmaz, aynı zamanda bu veriler üzerinde çeşitli analizler ve hesaplamalar da yaparız. SQL Server, ham verilerinizi anlamlı raporlara dönüştürürken kullanabileceğiniz oldukça zengin matematiksel fonksiyonlar sunar.
Finansal tablolardan istatistiksel analizlere, geometrik hesaplamalardan rastgele veri üretimine kadar birçok alanda işinizi kolaylaştıracak en popüler 14 SQL Server matematiksel fonksiyonunu pratik örneklerle mercek altına alıyoruz.
1. ABS (Mutlak Değer)
ABS fonksiyonu, içerisine girilen pozitif veya negatif sayının işaretine bakmaksızın mutlak değerini (pozitif halini) döndürür. Özellikle gelir-gider farkı veya iki değer arasındaki mutlak değişimi hesaplarken sıkça kullanılır.
SQL
2. POWER (Üs Alma)
Bir sayının belirtilen kuvvetini (üssünü) hesaplamak için kullanılır. İki parametre alır: İlki tabandaki sayı, ikincisi ise alınacak üssü ifade eder.
SQL
3. SQUARE (Karesini Alma)
Verilen bir sayının karesini (2. kuvvetini) hesaplar. Aslında POWER(sayi, 2) fonksiyonunun kısa yoludur.
SQL
4. SQRT (Karekök Alma)
Verilen pozitif bir sayının karekökünü hesaplar.
SQL
💡 Harika Bir Uygulama: Hipotenüs Hesaplama
SQUARE ve SQRT fonksiyonlarını bir arada kullanarak, dik kenarları 3 ve 4 olan bir üçgenin hipotenüs uzunluğunu (Pisagor Teoremi: $a^2 + b^2 = c^2$) kolayca bulabiliriz:
SQL
5. AVG (Ortalama Değer)
Bir sütundaki tüm sayısal değerlerin aritmetik ortalamasını döndürür. Raporlamalarda en sık kullanılan agregasyon (kümeleme) fonksiyonlarından biridir.
SQL
6. SUM (Toplam Alma)
Belirtilen sütundaki tüm değerlerin aritmetik toplamını verir. Örneğin, İstanbul şubesinde çalışan personellerin toplam maliyetini bulmak için WHERE şartı ile kombine edilebilir:
SQL
7. COUNT (Kayıt Sayısı)
Tablodaki toplam satır sayısını veya belirli bir kritere uyan kayıtların adedini verir. COUNT(*) kullanımı tablodaki tüm satırları sayarken, COUNT(SutunAdi) sadece NULL olmayan değerleri sayar.
SQL
8. CEILING (Yukarı Yuvarlama)
Ondalıklı bir sayıyı, kendisinden büyük veya eşit olan en küçük tam sayıya yuvarlar. Kısacası, virgülden sonra ne olduğuna bakmaksızın sayıyı yukarıya taşır.
SQL
9. FLOOR (Aşağı Yuvarlama)
Ondalıklı bir sayıyı, kendisinden küçük veya eşit olan en büyük tam sayıya yuvarlar. Sayıyı tabana çeker.
SQL
10. ROUND (Basamağa Göre Yuvarlama)
Matematiksel kurallara göre en yakın değere yuvarlama yapar. İki parametre alır: yuvarlanacak sayı ve virgülden sonra kaç basamak bırakılacağı.
SQL
11. MIN (En Küçük Değer)
Belirli bir sütun veya koşul içerisindeki en küçük (minimum) değeri döndürür.
SQL
12. MAX (En Büyük Değer)
Belirli bir sütun veya koşul içerisindeki en büyük (maksimum) değeri döndürür.
SQL
13. PI (Pi Sayısı)
Matematikteki sabit $\pi$ (3.14159...) sayısını döndürür. Geometrik hesaplamalarda hayat kurtarır.
SQL
14. RAND (Rastgele Sayı Üretme)
0 ile 1 arasında (0 dahil, 1 hariç) rastgele bir float değer üretir.
- Eğer
RAND()şeklinde boş bırakılırsa, sorgu her çalıştığında farklı bir sayı üretilir. - Eğer
RAND(5)gibi içerisine bir tohum (seed) değeri verilirse, sorgu her çalıştığında aynı rastgele sayıyı üretir.
💡 İpucu: 0 ile 100 Arasında Rastgele Tam Sayı Üretmek
Gerçek senaryolarda genellikle belirli aralıklarda tam sayılara ihtiyaç duyarız. Örneğin 0-100 arasında rastgele bir tam sayı üretmek için RAND() fonksiyonunu FLOOR ile şu şekilde birleştirebiliriz:
SQL
Eğer bir tablodan rastgele 10 adet kayıt veya sayı listelemek isterseniz, SQL Server'daki NEWID() veya döngü yapılarıyla bu fonksiyonu zenginleştirebilirsiniz.
Özet
SQL Server'da matematiksel fonksiyonlar, veri manipülasyonu ve analiz süreçlerinde performans kazanmanızı sağlar. Büyük veri yığınlarını uygulama katmanına (C#, Python vb.) çekip orada hesaplamak yerine, direkt veritabanı seviyesinde SUM, AVG, ROUND gibi fonksiyonlarla işlemek çok daha hızlı sonuç verir.
Projelerinizde hesaplama yükünü SQL Server'a devrederek hem kod kalitenizi artırabilir hem de raporlama sürelerinizi kısaltabilirsiniz. Bir sonraki veritabanı rehberimizde görüşmek üzere!