トップ > SQL入門 > 10章
10章 単一行関数(数値関数)

今回は、数値関数について書いていきます。

覚えることが多くて大変かと思いますが、頑張っていきましょう。
それでは数値関数ですが、これは数値を処理する関数です。そのまんまですね。

数値関数
ROUND 四捨五入して表示
TRUNC 切り捨てして表示
MOD 割り算の余りを表示

ROUND関数


まずROUND関数ですが、これは対象データの四捨五入を行います。
さっそく実行例を見ていきましょう。

  SQL> SELECT ROUND(1234.567,2) FROM dual;

  ROUND(1234.567,2)
  -----------------
  1234.57
  

ROUND関数の第1引数(1234.567)は処理する値となり、
第2引数(2)は表示する小数点の桁数です。
今回では6が少数点第2位となるので、少数点第3位(7)を四捨五入します。
今回の例では定数を指定していますが、列を指定することも可能です。

  SQL> SELECT ROUND(1234.567,0) FROM dual;

  ROUND(1234.567,0)
  -----------------
  1235
  

第2引数を0とした場合、表示する小数点は0桁となります。
また以下のように第2引数を省略した場合も同じ結果となります。

  SQL> SELECT ROUND(1234.567) FROM dual;

  ROUND(1234.567)
  -----------------
  1235
  

では次の実行例です。

  SQL> SELECT ROUND(1234.567,-1) FROM dual;

  ROUND(1234.567,-1)
  -----------------
  1230
  

第2引数にマイナスを使用した場合、整数桁数を表します。
今回の場合は‐1なので、整数1の位(4)が四捨五入となります。

TRUNC関数


TRUNC関数の場合は、ROUND関数と同じ使用方法となります。
ただ四捨五入でなくすべて切り捨てとなります。


  SQL> SELECT TRUNC(1234.567,2) FROM dual;

  TRUNC(1234.567,2)
  -----------------
  1234.56
  


  SQL> SELECT TRUNC(1234.567,0) FROM dual;

  TRUNC(1234.567,0)
  -----------------
  1234
  


  SQL> SELECT TRUNC(1234.567,-1) FROM dual;

  TRUNC(1234.567,-1)
  -----------------
  1230
  

MOD関数



最後にMOD関数です。MOD関数は割り算の余りを表示させる関数です。

  SQL> SELECT MOD(10,3) FROM dual;

   MOD(10,3)
  ----------
           1



  SQL> SELECT MOD(10,2) FROM dual;

   MOD(10,2)
  ----------
           0


以上が数値関数となります。

今回の例ではFROM句にdual表を使用しました。
この表はダミー表であり、今回のように表からデータを取得する必要が
ないようなSQL文を実行したいという場合に使用します。

今回はここまでとなります。関数はたくさんあるので覚える必要はないので、
使用するときにまた調べられるようになっていれば良いと思います。