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 sayının işaretini(artı ve ya eksi olmasını) sonuç olarak döndüren SIGN fonksiyonudur.
Bu fonksiyonu ilk başta çoğuna saçma gelse de Oracle sorgularında performansı artırmak için kullanılan bir fonksiyondur. Fonksiyonun genel çalışma algoritması aşağıdaki gibidir.
If number < 0, then the SIGN function returns -1.
If number = 0, then the SIGN function returns 0.
If number > 0, then the SIGN function returns 1.
Bu işlemleri kullandığımız sorgularda sayının 0 dan büyük ve küçük olmasını da kontrol ederek yapabiliriz. Ama bu işlemler tüm sayı üzerinde işlem yaparken SIGN fonksiyonu sayının sadece işaret bitine bakar ve çalışma mantığıyla sorgularda performans sağlar. Burada şu sonucu çıkartabiliriz ki SIGN fonksiyonu sayısal karşılaştırma işlemlerinde performansı artırmak için geliştirilmiş bir fonksiyondur.
Fonksiyonun genel kullanımı aşağıdaki gibidir:
SIGN ( number )
number: işareti hesaplanacak sayıyı ifade eder.
Örnek birkaç sorgu çalıştıracak olursak:
SELECT
SIGN (0)
FROM DUAL;
Sonuç: 0
SELECT
SIGN (1231312)
FROM DUAL;
Sonuç: 1
SELECT
SIGN (-1231312)
FROM DUAL;
Sonuç: -1
SELECT
SIGN (-.321)
FROM DUAL;
Sonuç: -1
SIGN fonksiyonu aşağıdaki Oracle sürümlerindeki fonksiyonlar arasında yer almaktadır.
-Oracle 12c,
-Oracle 11g,
-Oracle 10g,
-Oracle 9i,
-Oracle 8i
Son olarak konuyu özetleyecek olursak, Oracle SIGN fonksiyonu parametre olarak girilen bir sayının işaretini(artı ve ya eksi olmasını) sonuç olarak döndüren bir fonksiyondur. Bu fonksiyon genelde Oracle sorgularındaki sayısal karşılaştırma işlemlerinin performansını artırmak için kullanılan fonksiyondur.
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