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 ROUND fonksiyonudur.
Oracle PL/SQL içinde genel olarak 4 şekilde yuvarlama işlemi yapmak mümkündür. Bunlardan ROUND fonksiyonu parametre olarak girilen değeri, olarak girilen yuvarlama basamağına kadar yuvarlayan bir fonksiyondur. Diğer yuvarlama fonksiyonları FLOOR bir alt sayıya yuvarlama, CEIL fonksiyonu bir üst tam sayıya 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 ROUND fonksiyonunu incelemeye çalışacağız.
Oracle ROUND fonksiyonu başka programlama dillerinde ve genel olarak da matematikteki yuvarlama işleminin karşılığıdır. Yuvarlama işlemi genel olarak yuvarlama basamağından sonraki sayının değerine bakarak yapılır. Eğer değer 5 den büyükse bir önceki basamak 1 arttırılır, küçükse bir önceki basamakla devam edilir.
Not: Parametrenin eksi olması ondalıklı sayıdan önceki kısmın yuvarlanacağını ifade eder.
ROUND fonksiyonun genel kullanımı aşağıdaki gibidir
ROUND( number [, decimal_places] )
number: Yuvarlanacak sayıyı ifade eder.
decimal_places: Yuvarlama işleminin hangi basamağa kadar yapılacağını ifade etmek için parametredir. Bu parametre opsiyoneldir ve girilmediği durumlarda 0 gibi işlem görür.
Örneklerle konunun daha iyi anlaşılacağı kanaatindeyim:
SELECT
ROUND(65.12)
FROM DUAL;
Sonuç: 65
SELECT
ROUND(65.62)
FROM DUAL;
Sonuç: 66
SELECT
ROUND(65.62, 0)
FROM DUAL;
Sonuç: 66
SELECT
ROUND(12.34673, 2)
FROM DUAL;
Sonuç: 12.35
SELECT
ROUND(12.34673, 1)
FROM DUAL;
Sonuç:12.3
SELECT
ROUND(12.34673, -1)
FROM DUAL;
Sonuç: 10
SELECT
ROUND(15, -1)
FROM DUAL;
Sonuç:20
SELECT
ROUND(53, -2)
FROM DUAL;
Sonuç: 100
ROUND fonksiyonu aşağıdaki Oracle sürümlerinde yer almaktadır.
-Oracle 12c,
-Oracle 11g,
-Oracle 10g,
-Oracle 9i,
-Oracle 8i
ROUND( number [, decimal_places] )
number: Yuvarlanacak sayıyı ifade eder.
decimal_places: Yuvarlama işleminin hangi basamağa kadar yapılacağını ifade etmek için parametredir. Bu parametre opsiyoneldir ve girilmediği durumlarda 0 gibi işlem görür.
Örneklerle konunun daha iyi anlaşılacağı kanaatindeyim:
SELECT
ROUND(65.12)
FROM DUAL;
Sonuç: 65
SELECT
ROUND(65.62)
FROM DUAL;
Sonuç: 66
SELECT
ROUND(65.62, 0)
FROM DUAL;
Sonuç: 66
SELECT
ROUND(12.34673, 2)
FROM DUAL;
Sonuç: 12.35
SELECT
ROUND(12.34673, 1)
FROM DUAL;
Sonuç:12.3
SELECT
ROUND(12.34673, -1)
FROM DUAL;
Sonuç: 10
SELECT
ROUND(15, -1)
FROM DUAL;
Sonuç:20
SELECT
ROUND(53, -2)
FROM DUAL;
Sonuç: 100
ROUND 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 ROUND fonksiyonu parametre olarak girilen ondalıklı sayıyı, yine parametre olarak girilen basamağa kadar yuvarlar. Parametrenin eksi olması ondalıklı sayıdan önceki kısmın yuvarlanacağını ifade eder.
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