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 bir tanesi de yuvarlama işlemi için kullanılan FLOOR fonksiyonudur.
Yuvarlama işlemi sorgu sonuçlarının daha düzenli, okunabilir ve kullanıcılar için anlamlı olarak gözükmesi için sıkça kullanılan işlemlerden biridir.
Oracle PL/SQL içinde genel olarak 4 şekilde yuvarlama işlemi yapmak mümkündür. Bunlardan FLOOR fonksiyonu bir alt sayıya yuvarlama, CEIL fonksiyonu bir üst tam sayıya yuvarlama, ROUND fonksiyonu girilen değere kadar yuvarlama ve tam olarak yuvarlama işlemi sayılmasa da teknik olarak ROUND ve FLOOR fonksiyonlarının karışımı olan TRUNC(number) fonksiyonlarıdır.
Bu makalemizde ayrıntılı olarak örneklerle Oracle FLOOR fonksiyonunu incelemeye çalışacağız.
Oracle FLOOR fonksiyonu başka programlama dillerinde olduğu gibi bir ondalık sayıyı bir alt tam sayıya yuvarlar. Bir anlamda pozitif sayılar için ondalıklı kısmı atma işlemini gerçekleştirir. Tam sayılar için FLOOR fonksiyonunun cevabı her zaman tam sayının kendisidir.
Fonksiyonun genel kullanımı aşağıdaki gibidir:
FLOOR ( number )
number: yuvarlama işlemi yapılacak sayıyı ifade eder.
Örnek bir kaç sorgu yapacak olursak.
SELECT
FLOOR(11.3)
FROM DUAL;
Sonuç: 11
SELECT
FLOOR(-11.3)
FROM DUAL;
Sonuç: -12
SELECT
FLOOR(432)
FROM DUAL;
Sonuç:432
Değer çok büyük girilirse
SELECT
FLOOR(1354645654646423423442342342342342342334234233423423342342334234233423423342342334234233423634234244324234242343242324234234234)
FROM DUAL;
ORA-01426: sayısal taşma
01426. 00000 - "numeric overflow"
*Cause: Evaluation of an value expression causes an overflow/underflow.
*Action: Reduce the operands.
hatası ile karşılaşırız.
Ondalıklı sayı kısmı çok uzun olursa
SELECT
FLOOR(.1354645654646443534543534534534534534534534534534523423442342341354645654646443534543534534534534534534534534534513546456546464435345435345345346765656556562342342342334234233423423342342334234233423423342342334234233423634234244324234242343242324234234234)
FROM DUAL;
ORA-00907: eksik sağ parantez
00907. 00000 - "missing right parenthesis"
*Cause:
*Action:
Oracle tarafından handle edilmeyen bir hata mesajı ile karşılaşırız.
FLOOR fonksiyonu aşağıdaki Oracle sürümlerinde yer almaktadır.
-Oracle 12c,
-Oracle 11g,
-Oracle 10g,
-Oracle 9i,
-Oracle 8i
Son olarak konuyu özetleyecek olursak, Oracle FLOOR fonksiyonu parametre olarak girilen ondalıklı sayıyı bir alt tam sayıya yuvarlamak 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