Oracle PL/SQL içinde genel programlama dillerinde yer olan ve PL/SQL'e has bir çok özellik fonksiyonlar altında bir araya toplanmıştır. Bu fonksiyonlardan biri de matematikte sıkça kullanılan logaritma işleminin karşılığı olan LOG fonksiyonudur.
LOG fonksiyonu Oracle PL/SQL içerisinde parametre olarak verilen bir sayının, yine parametre olarak verilen sayı tabanından logaritmasını hesaplayan matematiksel fonksiyonudur. Sayı ve taban değerli pozitif değer olmak zorundadır.
Oracle LOG fonksiyonunun genel kullanımı aşağıdaki gibidir:
LOG( taban, sayı )
taban: Hangi tabana göre hesaplama yapılacağını bildiren parametre
sayı : Hesaplanacak sayıyı ifade eden parametredir.
Logaritma fonksiyonunun özel hali olan doğal logaritma konusunun anlatıldığı makaleye buradan erişebilirsiniz.
Oracle LOG fonksiyonunun kullanımı ile ilgili bir kaç örnek sorgu çalıştıracak olursak.
SELECT
LOG(3,9)
FROM DUAL;
Sonuç:2
SELECT
LOG(27,3)
FROM DUAL;
Sonuç: 0,3333333333333333333333333333333333333354
Not: Oracle'da birçok bilinen değerlerin logaritma değerlerini kullandığı algoritma gereği tam olarak hesaplayamaz. Örnek verecek olursak sonucun 3 olması gerekirken yaklaşık bir değer elde edilir. Bu gibi durum aşağıdaki sorgularda da kendini göstermektedir.
SELECT
LOG(3,27)
FROM DUAL;
Sonuç: 2,99999999999999999999999999999999999998
SELECT
LOG(4,256)
FROM DUAL;
Sonuç: 4,00000000000000000000000000000000000003
Sorguları 11g de çalıştırdığımdan böyle bir sıkıntı da yaşanabilir. Sürüm yükseldikçe bu problemi de çözmüşlerdir muhakkak.
Taban ve hesaplanacak sayı eksi değerler olduğunda
SELECT
LOG(-3,-1)
FROM DUAL;
ORA-01428: bağımsız değişken '-3' aralık dışı
01428. 00000 - "argument '%s' is out of range"
hatası ile karşılaşırız.
Oracle Logaritma fonksiyonu aşağıdaki sürümlerinde yer almaktadır.
-Oracle 12c,
-Oracle 11g,
-Oracle 10g,
-Oracle 9i,
-Oracle 8i
Son olarak konuyu özetleyecek olursak, Oracle LOG fonksiyonu parametre olarak verilen bir sayının, yine parametre olarak verilen sayı tabanından logaritmasını hesaplayan matematiksel fonksiyonudur. Sayı ve taban değerli pozitif değer olmak zorundadır
Oracle PL/SQL bünyesinde yer alan tüm numerik ve matematiksel fonksiyonlar listesine buradan erişebilirsiniz.
Oracle PL/SQL bünyesinde yer alan tüm fonksiyonlara ve açıklamalarına ise buradan erişebilirsiniz..
Yorumlar
Yorum Gönder