SQL Server dilinin işlemlerimizde kolaylık sağlamak için bize sunduğu bazı hazır fonksiyonlar mevcuttur. Bu yazıda bunlardan matematiksel olanlarını örneklerle inceleyeğiz. Bu bölümdeki bütün fonksiyonlar numerik değer alır. karakteriksel bir değer girildiğinde hata verecektir.
ABS
Mutlak değer fonksiyonudur. Verilen sayının mutlak değerini döndürür.
select ABS(-5) [-5 girdik],ABS(5) [+5 girdik]
-5 girdik | +5 girdik |
---|---|
5 | 5 |
CEILING
Verilen sayıyı yuvarlayarak kendisine yakın büyük tamsayıyı veren fonksiyondur. yuvarlama işlemini yukarı doğru yapar. Virgülden sonraki kısım çok küçük dahi olsa bir sonraki büyük değere yuvarlar.
select ceiling(1.7) [1.7 ninki],ceiling(6.1)[6.1 inki]
1.7 ninki | 6.1 inki |
---|---|
2 | 7 |
Eksi değerlerde de aynı işlem gerçekleştirilir
select ceiling(-1.7) [-1.7 ninki],ceiling(-6.1)[-6.1 inki]
-1.7 ninki | -6.1 inki |
---|---|
-1 | -6 |
FLOOR
Verilen sayıyı yuvarlayarak kendisine yakın küçük tamsayıyı veren fonksiyondur. yuvarlama işlemini aşağı doğru yapar. Virgülden sonraki kısım çok büyük dahi olsa bir önceki küçük değere yuvarlar.
select floor(1.7) [1.7 ninki],floor(6.1)[6.1 inki]
1.7 ninki | 6.1 inki |
---|---|
1 | 6 |
ROUND
İstenilen basamağa göre yuvarlama yapar. iki sayı alır. Birinci sayı yuvarlanaak olan sayı, ikinci sayı ise virgülden sonra kaç basamak istediğimizi belirttiğimiz sayı.
select round(75.3145,4),round(75.3145,3),round(75.3145,2)
Column1 | Column2 | Column3 |
---|---|---|
75.3145 | 75.3150 | 75.3100 |
SQUARE
Verilen sayının karesini döndürür.
select square(7) [7nin karesi]
7nin karesi |
---|
49 |
SQRT
Verilen sayının karekökünü döndürür
select sqrt(49) [49un karekoku]
49un karekoku |
---|
7 |
POWER
Verilen sayılara göre üslü işlem yapmaya yarar. ilk değerin ikinci değer kadar üstünü alıp döndürür.
select power(2,3) [2uzeri3]
2uzeri3 |
---|
8 |
NOT: Normalde matematik işlemlerinde 0 üzeri 0 tanımsızdır fakat SQL de 0 üzeri 0, 1 değerini döndürür
PI
pi sayısının değerini döndürür
select pi() [pi degeri]
pi degeri |
---|
3.14159265358979 |
RAND
0-1 aralığında random olarak anlık bir değer döner. Bu işlemi her çalıştırdığımızda farklı bir değer döner
select rand() [rasgele]
rasgele |
---|
0.174623035928775 |
SIGN
Verilen sayının pozitif mi negatif mi yoksa sıfır mı olduğunu öğrenmemizi sağlayan fonksiyondur. 3 farklı sonuç çıkabilir
select sign(-127) [-127],sign(127) [127],sign(0) [0]
-127 | 127 | 0 |
---|---|---|
-1 | 1 | 0 |
EXP
girilen sayıya göre E üzeri değer döner.
select exp(3)
Column1 |
---|
20.0855369231877 |
LOG
Verilen sayının logaritmik değerini hesaplar
select log(7)
Column1 |
---|
1.94591014905531 |