スポンサーリンク

Oracleで数値の切り上げをしよう

Oracleの関数で、数値の丸めについて調べていてふと気になったのですが、四捨五入(ROUND)と切り捨て(TRUNC)はあるのに、切り上げって無いんですね。

ちなみに、ROUND と TRUNC の動作は以下のようになります。

ROUND(number)numberの小数点以下を四捨五入する
ROUND(number, integer)numberの小数点integer桁目の次の桁で四捨五入し、
小数点integer桁までの数値にする
TRUNC(number)numberの小数点以下を切り捨てる
TRUNC(number, integer)numberの小数点integer桁目の次の桁以下を切り捨て、
小数点integer桁までの数値にする

さて、じゃあ切り上げはどうするの? というところなんですが、操作対象の桁に4を足して四捨五入したり、9を足して切り捨てれば何とかなりそうです。

例えば、ROUND(number+0.4) とか、TRUNC(number+0.9) とすれば良さそうですよね。

うん、いい感じ。

また小数点第何位とかを求める時には、ROUND(1.234 + 0.004, 2) とかすれば出来ます。

頻繁に使う場合は関数を作っておくと、何かと便利そうです。幸いWeb上に関数のソースを公開されている方を見つけることが出来たので、僕は素直に使わせてもらうことにします。

参照リンク
 ・ORACLE SQL 四捨五入・切り上げ・切り捨てをする - ROUND、TRUNC、ROUNDUP 関数 | saka-en
  (切り上げの関数ROUNDUPのソースを公開しておられます)

スポンサーリンク
コメント
Verify your Comment
Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

コメントを投稿

プロフィール


  • 書いてる人:夢界 陸

    名古屋在住のおっさん。
    プログラミングやガジェットの話など、 日々の興味を徒然と綴っています。



    Twitterやってます @mukairiku

    運営サイト
    www.mukairiku.net

ブログ内検索

Licenses

  • Creative Commons License

OTHER

  • このブログのはてなブックマーク数

Blog powered by TypePad

スポンサーリンク