トップへ(mam-mam.net/)

MariaDB(MySQL)で使用できる主な整数、小数を扱う関数(切り捨て,切り上げ,四捨五入,3桁区切り等)

検索:

剰余(MOD)、絶対値(ABS)、切り捨て(FLOOR TRUNCATE)、四捨五入(ROUND)、切り上げ(CEILING)、書式整形(FORMAT)などの関数を解説します。

MOD(n, m)
n を m で割った余り(剰余)
SELECT MOD(10, 3) AS col;
+------+
| col  |
+------+
|    1 |
+------+

SELECT MOD(3.2, 1.2) AS col;
+------+
| col  |
+------+
|  0.8 |
+------+
ABS(x)
x の絶対値を返す
SELECT ABS(-9.8) AS col;
+-----+
| col |
+-----+
| 9.8 |
+-----+
FLOOR(x)
x 以下で最大の整数値を返す(切り捨て)
負の値を指定した場合にTRUNCATEと違う値を返すので注意。
SELECT FLOOR(3.99) AS col;
+-----+
| col |
+-----+
|   3 |
+-----+

SELECT FLOOR(-3.99) AS col;
+-----+
| col |
+-----+
|  -4 |
+-----+
TRUNCATE(x, d)
小数点以下 d 桁目未満を切り捨てます(切り捨て)
負の値を指定した場合にFLOORと違う値を返すので注意。
SELECT TRUNCATE(3.99, 0) AS col;
+-----+
| col |
+-----+
|   3 |
+-----+

SELECT TRUNCATE(-3.99, 0) AS col;
+-----+
| col |
+-----+
|  -3 |
+-----+
ROUND(x[, d])
四捨五入して小数点以下 d 桁に丸めます
SELECT ROUND(3.99, 0) AS col;
+-----+
| col |
+-----+
|   4 |
+-----+

SELECT ROUND(-3.99, 0) AS col;
+-----+
| col |
+-----+
|  -4 |
+-----+
CEILING(x) 又は CEIL(x)
x 以上で最小の整数値を返します(切り上げ)
SELECT CEILING(3.01) AS col;
+-----+
| col |
+-----+
|   4 |
+-----+

SELECT CEILING(-3.01) AS col;
+-----+
| col |
+-----+
|  -3 |
+-----+
LEAST(x1, x2, ...)
引数(x1, x2, ...)の中で最小の値を返します
SELECT LEAST(3.01, -9, 24.3) AS col;
+-------+
| col   |
+-------+
| -9.00 |
+-------+
GREATEST(x1, x2, ...)
引数(x1, x2, ...)の中で最大の値を返します
SELECT GREATEST(3.01, -9, 24.3) AS col;
+-------+
| col   |
+-------+
| 24.30 |
+-------+
FORMAT(x,d)
数値 x を '#,##0.##' の3桁区切りの書式に変換し、小数点以下桁数 d に丸めて返す。
SELECT FORMAT(1533.545, 2) AS col;
+----------+
| col      |
+----------+
| 1,533.55 |
+----------+

SELECT FORMAT(0.045, 2) AS col;
+------+
| col  |
+------+
| 0.05 |
+------+
RAND() 又は RAND(seed)
0以上1未満のランダムな浮動小数点値を返す。 seedが指定された場合はランダムシード値として使用されます。
SELECT RAND() AS col;
+--------------------+
| col                |
+--------------------+
| 0.8328187827326532 |
+--------------------+
MariaDB(MySQL)のサンプルSQL一覧に戻る