「Androidは電気羊の夢を見るか」を読みたい管理者のブログ

仕事などでの色々な発見を記事にしてます。不定期更新。

Oracle一行関数まとめ(数値関数編)

はじめに

このブログは当初雑記ブログではなくてヒットアンドウェイでアクセスアップを狙う技術者ブログとして開設したのであって、よってしばらくぶりに技術ネタをアップしてみる
長くなったので複数回に分けます。
まぁOracleの認定試験はこんな勉強をしてるんだよと感じをつかんでもらえれば。

一行関数とは

Databaseでは色々な関数が使えるが大きく一行関数とグループ関数に分けられる。
一行関数とは一行で収まるようなデータを処理する関数である。
更に以下のように分類できる。

  • 数値関数
  • 文字関数
  • 日付関数

数値関数

CEIL

CEIL(n)…n以上の最も小さい整数を戻す
SELECT CEIL(14.8) FROM DUAL;
>15
SELECT CEIL(14.1) FROM DUAL;
>15

FLOOR

FLOOR(n)…n以下の最も大きい関数を戻す
SELECT CEIL(14.8) FROM DUAL;
>14
SELECT CEIL(14.1) FROM DUAL;
>14

MOD

MOD(m,n)…mをnで割った余りを戻す。
C言語でいう%演算子ですな。
SELECT MOD(9,4) FROM DUAL;
>1

POWER

POWER(m,n)…mをn乗した値を戻す。
SELECT POW(4,2) FROM DUAL;
>16

SQRT

SQRT(n)…nの平方根を戻す。
SELECT SQRT(9) FROM DUAL;
>3

ROUND

ROUNT(m,[n])…mを小数点以下n桁に四捨五入した値を返す。nが負の場合は小数点の左のn桁が四捨五入される。nを省略すると小数点以下が四捨五入される。
SELECT ROUND(3456.789,2),ROUND(3456.789,-2) FROM DUAL;
>3456.790 3500.000

TRUNC

TRUNC(m[,n])…mを小数点以下n桁に切り捨てた値を戻す。以下ROUNDに同じ
SELECT ROUND(3456.789,2),ROUND(3456.789,-2) FROM DUAL;
>3456.780 3400.000

参考:

オラクルマスター教科書 Bronze Oracle Database 10g【SQL基礎I】編 (CD-ROM付)

オラクルマスター教科書 Bronze Oracle Database 10g【SQL基礎I】編 (CD-ROM付)