数値関数の使い方

数を丸める・計算する

書き方

ROUND(x, 桁) TRUNC(x, 桁) CEIL(x) FLOOR(x)
ABS(x) MOD(a, b) POWER(a, b)

ROUND は四捨五入、TRUNC は切り捨て、CEIL は切り上げ。整数どうしの割り算は小数が切り捨てられます。

よく使うオプション

オプション意味
ROUND(x, 桁)四捨五入する
TRUNC(x, 桁)切り捨てる
CEIL(x) / FLOOR(x)切り上げて整数に / 切り下げて整数に
ABS(x)絶対値
MOD(a, b)a を b で割った余り

例

SELECT ROUND(AVG(salary), 0) FROM employees;  round
--------
 310000
(1 row)

給与の平均を、四捨五入して整数にします。

SELECT ROUND(1234.567, 1), TRUNC(1234.567, 1), ROUND(1234.567, -2); round  | trunc  | round
--------+--------+-------
 1234.6 | 1234.5 |  1200
(1 row)

小数 1 けたで四捨五入・切り捨てし、最後は 100 の位で四捨五入します。桁にマイナスを書くと整数の位で丸めます。

SELECT CEIL(7 / 3.0) AS pages; pages
-------
     3
(1 row)

7 件を 3 件ずつ分けると何ページ要るかを、切り上げで出します。

SELECT id FROM orders WHERE MOD(id, 2) = 0;

番号が偶数の注文だけを出します。

よくある間違い・注意

  • 整数どうしの割り算は小数が切り捨てられます(7 / 2 は 3)。小数が欲しいときは 7 / 2.0 や CAST を使います。
  • MySQL では 7 / 2 が 3.5 になるなど、割り算の結果はデータベースによって違います。

実際に打って練習する

SQL コースの Lv15「数の関数」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜3 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

SQL 構文一覧(使い方と例)へ戻る