Home実験室 − No.0038


        No.0038(SQL)
        MOD関数

■環境
  □OS: Windows XP Professional SP3
  □Oracle: Oracle Database 11g R2 (Standard)
  □OSログインユーザ: ORA_DBAグループ
  □Oracleユーザ: dicdic(実験用ユーザー)

■実験
  0. 実験ユーザー「dicdic」でコネクトする。

SQL> conn dicdic/Oracle11g 接続されました。 SQL>



  1. 【剰余】割り算のあまりを求めるにはMOD関数を使う。22を5で割ったあまりは2。

SQL> SELECT MOD(22 ,5) あまり FROM DUAL; あまり ---------- 2 SQL>



  2. 【商】こうなると、商の部分を求めたいということになりそうですが、
     現在までの調査の結果、商を求める関数はない。
     だからやり口としては、「割り算をして小数部分を切り捨てる」というやり方になる。
     TRUNCを使ってもよいし、FLOORを使ってもよいと思われる。

SQL> SELECT 22/5, TRUNC(22/5,0) ,FLOOR(22/5) from dual; 22/5 TRUNC(22/5,0) FLOOR(22/5) ---------- ------------- ----------- 4.4 4 4 SQL>



  3. 【商と余り】上記をあわせて、商と余りを出したければ、こんな感じですか。

SQL> SELECT FLOOR(22/5) 商, MOD(22,5) 余り from dual; 商 余り ---------- ---------- 4 2 SQL>





    【PR】    Oracle実験室監修  『Oracleアーキテクチャ鳥瞰図』 PDF  (Oracleのアーキテクチャを一目で俯瞰できるイラスト)  


Home実験室 − No.0038

© 2011-2011   Amateur Laboratory of ORACLE
inserted by FC2 system