Personerna som skrev dokumentationen (som inte verkar minnas vissa definitioner från aritmetiken) verkar själva osäkra på vad de skrivit. Å ena sidan, tidigt i förklaringen nämner de ROUND
- men senare när de ger en mer formell definition säger de
"Närmast heltal" är inte formellt definierat i aritmetiken, och man är faktiskt tillåten att använda det namnet för rund(x) förutom när bråkdelen av x är exakt 0,5, i vilket fall "heltal närmast" är tvetydigt och man kan välja att använd "runda ner" som sin egen definition av "heltal närmast."
Bli inte för upprörd över sådana inkonsekvenser i dokumentationen, om du kan. Du kommer att se många fler.
Men :Vad som är MYCKET värre är att beteendet är inkonsekvent. Jag använder Oracle 12.1, och på min maskin försökte jag precis och jag fick
remainder(10, 4) = 2
remainder( 6, 4) = -2
Inget rim eller anledning. Mycket bättre att göra din egen indelning, använda FLOOR och så.
Redigera – Eller så kanske det finns någon anledning; kanske använder de en definition av "närmaste heltal" för att betyda, i fallet med oavgjort, närmaste jämna heltal. Producerar fortfarande oväntade resultat, bäst att inte använda Oracles REMAINDER()-funktion.