Fonksiyonlar

PaylaşTweet about this on TwitterShare on FacebookEmail this to someoneShare on Google+Share on LinkedInShare on TumblrShare on RedditPin on PinterestDigg thisFlattr the authorShare on StumbleUponBuffer this page

Uzun bir aradan sonra birkaç fonksiyondan bahsediyim 🙂

 

 

 

ABS: Mutlak değer fonksiyonu.

 

SELECT 10, ABS (-10), 12, ABS (12)

  FROM DUAL


 

 

CEIL: Değeri kendisine eşit veya kendisinden büyük en küçük tam sayı değerine çevirir.

 

FLOOR: Değeri kendisine eşit veya kendisinden küçük en büyük tam sayı değerine çevirir.

 

SELECT 18.9, CEIL (18.9), FLOOR (18.9), 22, CEIL (22), FLOOR (22)

  FROM DUAL

 

 

EXP: Matematiksel sabit olan e (2,71828…) nin üslü ifadesini bulmak için kullanılır.

 

SELECT EXP (1), EXP (2)

  FROM DUAL;

 

MOD: X sayısının Y sayısına bülümünden kalanı verir. X sıfır ise Y değerini döndürür. X değeri negatif olduğu zaman mod fonksiyonu matematikte kullanılan mod işleminden farklı sonuç döndüreceği unutulmamalıdır. Matematikte kullanılan mod işlemi şu şekilde hesaplanıyor; X – Y * FLOOR(X/Y)

SELECT MOD (13, 5), MOD (-13, 5), MOD (13, 5), MOD (-13, 5)

  FROM DUAL;

 

 

Aynı değerlere klasik matematik fonksiyonu ile bakalım;

 

SELECT (13) (5) * FLOOR ((13) / (5)) "MOD (13, 5)",

       (-13) (5) * FLOOR ((-13) / (5)) "MOD (-13, 5)",

       (13) (-5) * FLOOR ((13) / (-5)) "MOD (13, -5)",

       (-13) (-5) * FLOOR ((-13) / (-5)) "MOD (-13, -5)"

  FROM DUAL

 

POWER: Üslü ifade fonksiyonudur. Kullanımda dikkat edilmesi gereken power(x,y) şeklinde bir kullanımda eğer x negatif bir sayı ise y integer bir değer almalıdır.

 

SELECT POWER (3, 2), POWER (3, 2), POWER (-3, 2)

     , POWER (3.2, 2), POWER (3.2, 2.2), POWER (-3.2, 2)

     , POWER (-3.2, 2)

FROM   DUAL;

 

 

SELECT POWER (-3, 2.2)

  FROM DUAL;

 

Bu şekilde sorguladığımızda sonuç ne olur? (Eğer x negatif bir sayı ise y integer bir değer almalıdır)

 

 

SIGN: Sign fonksiyonu alacağı değere göre -1, 0, 1 değerlerinden birisini döndürür. Eğer parametremiz 0 dan küçükse -1, 0 a eşitse 0, 0 dan büyükse +1 değerini elde ederiz. BINARY_FLOAT ve BINARY_DOUBLE değişkenler için ufak bir fark vardır. Parametre 0 dan küçükse -1, 0 dan büyük veya 0 a eşitse +1 değerini elde ederiz.

 

SELECT SIGN(-2), SIGN(0), SIGN(9),

       SIGN(-2.07f),SIGN(0f),SIGN(2.07f)

  FROM DUAL

 

 

WIDTH_BUCKET: Kayıtlarımızı aralıklara bölerek hangi kaydın hangi aralığa düştüğünü bulabilmemizi sağlar. Yani equiwidth histogram oluşturuyoruz.


 

SELECT last_name,

       salary,

       WIDTH_BUCKET (salary,

                     2500,

                     3000,

                     3) WIDTH_BUCKET

  FROM hr.employees

 WHERE EMPLOYEES.job_id = 'PU_CLERK'

 order by 3



 

PaylaşTweet about this on TwitterShare on FacebookEmail this to someoneShare on Google+Share on LinkedInShare on TumblrShare on RedditPin on PinterestDigg thisFlattr the authorShare on StumbleUponBuffer this page
11g Release 2 kurulumda karşılaşılabilecek hata
SQL sorgusu ile oran (dağılım) bulmak

Your comments

Loading Facebook Comments ...

Leave a Reply