Самите хора, които са написали документацията (които изглежда не си спомнят някои дефиниции от аритметиката), не изглеждат сигурни в това, което са написали. От една страна, в началото на обяснението те наистина споменават ROUND
- но по-късно, когато дадат по-официална дефиниция, те казват
„Най-близкото цяло число“ не е официално дефинирано в аритметиката и наистина е разрешено да се използва това име за кръг (x), освен когато дробната част на x е точно 0,5, в който случай „най-близкото цяло число“ е двусмислено и човек може да избере използват "закръгляване надолу" като собствена дефиниция на "най-близкото цяло число."
Не се разстройвайте много от такива несъответствия в документацията, ако можете. Ще видите много повече.
Въпреки това :МНОГО по-лошото е, че поведението е непоследователно. Използвам Oracle 12.1 и на моята машина току-що опитах и получавам
remainder(10, 4) = 2
remainder( 6, 4) = -2
Без рима или причина. Много по-добре е да направите свое собствено разделяне, като използвате FLOOR и други подобни.
Редактиране - Или може би има някаква причина; може би използват дефиниция на „най-близкото цяло число“, за да означават, в случай на равенство, най-близкото четно цяло число. Все още давате неочаквани резултати, най-добре е да не използвате функцията REMAINDER() на Oracle.