Alper ÇELİK

Bilgisayar Mühendisi

* Built in mathematical functions *

 ABS()  
Parametre olarak girilen ifadenin pozitif mutlak değerini geriye döndürür.
SELECT ABS(-5) ----------- > 5
 
 CEILING()
Parametre olarak tanımlanmış sayısal ifadeyi yukarıya doğru yuvarlar.  
SELECT CEILING(23.7) ----------- > 24
SELECT CEILING(-23.7) ----------- > -23
 
 
 FLOOR()
Parametre olarak tanımlanmış sayısal ifadeyi aşağıya doğru yuvarlar.
SELECT FLOOR(23.7) ----------- > 23
SELECT FLOOR(-23.7) ----------- > -24
 
 
 POWER()
İçersine 2 değer alır. Geri dönüş değeri ilk yazılan ifadenin değeridir. Yaptığı iş girilen değerin üssünü almak şeklinde ifade edilebilir.
SELECT POWER(2,3) ----------- > 8
 
 
 RAND()
Geriye dönüş tipi float'dur. Her çağrıldığında 0 ile 1 arasında rastgele(random) bir sonuç döndürür. Opsiyonel olarak içersine parametrik bir artış değeri bekler. Örneğin 1 rakamını yazdığınızda sürekli aynı değeri döndürür.  
SELECT RAND() ----------- > 0,355666797057793
SELECT RAND(1) ----------- > 0,713591993212924 (Her çağrıldığında bu değeri verir.)
SELECT CEILING(RAND()*100) ----------- > Her çağrıldığında 0 ile 100 arasında bir değer üretir.(CEILING yerine FLOOR'da kullanılabilirdi.)  
 
ROUND()
Görevi; sayısal ifadenin istenen şekilde aşağıya ya da yukarıya yuvarlanmasıdır. Bu fonksiyon içersine 3 adet parametrik değer alır. İlk değer yuvarlanması istenen değerdir. İkinci değer ise pozitif ya da negatif olabilir. Şayet değer pozitif ise; yuvarlanması istenen değerin ondalıklı(decimal) kısmı ile ilgili işlem yapılır. Şayet değer negatif ise; yuvarlanması istenen değerin tam sayı(int) kısmı ile ilgili işlem yapılır. (yani pozitif ise virgülün sağı negatif ise virgülün solu gibi düşünülebilir.) Üçüncü parametre opsiyoneldir. Bu parametre yuvarlama ya da kesme işlemini ifade eder. Şayet 0 ise yuvarlama, 0 olmayan değer ise kesme işlemine tekabül eder. Üçüncü parametre hiçbir değer girilmedi ise varsayılan olarak 0 (sıfır'dır.)  
 
SELECT ROUND(442.753,0) ----------- > 443.000
SELECT ROUND(442.753,1) ----------- > 442.800
SELECT ROUND(442.753,2) ----------- > 442.750
SELECT ROUND(442.753,-1) ----------- > 440.000
SELECT ROUND(442.753,-2) ----------- > 400.000
SELECT ROUND(442.753,1,1) ----------- > 442.700
SELECT ROUND(442.753,2,1) ----------- > 442.750
 
 
SQRT()
İçersine tek bir parametre değeri alır. Geri dönüş değeri float'dur. Yaptığı iş girilen sayısal değerin karekökünü almaktır.
SELECT SQRT(4) ----------- > 2
 
SQUARE()
Geriye dönüş değeri float'dur. Yaptığı iş sayısal ifadenin karesini almaktır.
SELECT SQUARE(4) ----------- > 16  
 
 Örnek Uygulama: 1 ile 100 arasında rastgele sayıları gösteriniz:
 
DECLARE @Counter INT
SET @Counter = 1
WHILE (@Counter<=10)
BEGIN
Print FLOOR(RAND()*100)
Set @Counter=@Counter+1
END
 
--------------------------------------------------------------  
 
En sık kullanılan matematik fonksiyonların bir kısmını işledik. Umarım faydalı olmuştur. Bir sonraki makalemde görüşmek üzere.
 
 
 
 
 
 
 

Trigger Serisinin İlk Bölümüne Buradan Ulaşabilirsin

Trigger'lar özelleşmiş bir tür stored prosedürlerdir(SP).