Oracle Remainder funksiyası haqqında
Oracle-da istifadə olunan Round, Trunc və Mod funksiyalarına oxşar Remainder funksiyası da var. Remainder funksiyası digərləri ilə müqayisədə bir qədər geni izaha eytiyac duyan funksiyadır.
Belə ki, Remainder(x, y) funksiyası ilk baxışdan, x arqumentinin y arqumentinə tam bölünməsi üçün əlavə edilməli və yaxud çıxılmalı olan hissəni göstərir.
Sadəcə, məsələn, Remainder(11, 2) = 1 olduğu halda, Remainden(9, 2) = -1 qiymətinə bərabər olur. Bəs, müvafiq yaxınlıq və yaxud yuvarlaqlaşdırma hansı üsulla gedir. Əslində, burada bildiyimiz sadə yuvarlaqlaşdırma qaydası deyil.
İzahı aşağıda verilir:
Remainder(x , y) olarsa, x-(y*(N)) , N={ x/y həmişə ən yaxın cüt ədədə “yuvarlaqlaşdırılır” }
Misallar üzərində daha dəqiq başa düşə bilərik.
select remainder (11,2) from dual;
— 11 – (2*(11/2)) == 11 – (2*5.5) == 11 – (2*6) = 11 – 12 = -1 (5.5 ~ 6)
select remainder (9,2) from dual;
— 9 – (2*(9/2)) == 9 – (2*4.5) == 9 – (2*4) = 9 – 8 = 1 (4.5 ~ 4)
select remainder (7,2) from dual;
— 7 – (2*(7/2)) == 7 – (2*3.5) == 7 – (2*4) = 7 – 8 =-1 (3.5 ~ 4)
select remainder (5,2) from dual;
— 5 – (2*(5/2)) == 5 – (2*2.5) == 5 – (2*2) = 5 – 4 = 1 (2.5 ~ 2)
select remainder (3,2) from dual;
— 3 – (2*(3/2)) == 3 – (2*1.5) == 3 – (2*2) = 3 – 4 = -1 (1.5 ~ 2)
Ümid edirəm, qısa da olsa, müəyyən qədər aydınlıq gətirə bildim.