ドキュメントを書いた人(算術からいくつかの定義を思い出さないようです)自身は、自分が何を書いたかについて確信が持てないようです。一方では、説明の早い段階で、彼らはROUND
について言及しています。 -さらに後で、彼らがより正式な定義を与えるとき、彼らは言う
「最も近い整数」は算術で正式に定義されていません。実際、xの小数部分が正確に0.5である場合を除いて、round(x)にその名前を使用できます。この場合、「最も近い整数」はあいまいであり、次のように選択できます。 「最も近い整数」の独自の定義として「切り捨て」を使用します。
可能であれば、ドキュメントのこのような矛盾にあまり腹を立てないでください。さらに多くのことが表示されます。
ただし :さらに悪いのは、動作に一貫性がないことです。 Oracle 12.1を使用していますが、自分のマシンで試したところ、次のようになりました
remainder(10, 4) = 2
remainder( 6, 4) = -2
韻や理由はありません。 FLOORなどを使用して、独自の除算を行う方がはるかに優れています。
編集 -または、何らかの理由があるかもしれません。おそらく、「最も近い整数」の定義を使用して、同点の場合、最も近い偶数を意味します。 整数。それでも予期しない結果が生じるため、OracleのREMAINDER()関数を使用しないことをお勧めします。