MySQL関数リファレンス

小数点以下を切り下げる (FLOOR)

スポンサードリンク
書式
FLOOR( 数値 )

FLOOR関数を使用することで数値の小数点以下を切り捨てることができます。

例1(正の小数を引数とした場合)
mysql> SELECT FLOOR( 52.5567 );
+------------------+
| FLOOR( 52.5567 ) |
+------------------+
|               52 |
+------------------+
1 row in set (0.06 sec)

FLOOR関数は「引数以下で最大の整数」を返すため、負の小数を切り下げた場合、切り下げ後の整数部分は変更されるので注意しましょう。

例2(負の小数を引数とした場合)
mysql> SELECT FLOOR( -52.5567 );
+-------------------+
| FLOOR( -52.5567 ) |
+-------------------+
|               -53 |
+-------------------+
1 row in set (0.00 sec)

ちなみにTRUNCATE関数は引数の数値がゼロの方向に丸められるため、負の小数を引数とした場合、FLOOR関数とは異なる動作をします。

例3(TRUNCATE関数との動作の比較)
mysql> SELECT TRUNCATE( 15.56 ,0 ), FLOOR( 15.56 );
+----------------------+----------------+
| TRUNCATE( 15.56 ,0 ) | FLOOR( 15.56 ) |
+----------------------+----------------+
|                   15 |             15 |
+----------------------+----------------+
1 row in set (0.00 sec)

mysql> -- 負の小数の場合、動作が異なる
mysql> SELECT TRUNCATE( -15.56 ,0 ), FLOOR( -15.56 );
+-----------------------+-----------------+
| TRUNCATE( -15.56 ,0 ) | FLOOR( -15.56 ) |
+-----------------------+-----------------+
|                   -15 |             -16 |
+-----------------------+-----------------+
1 row in set (0.00 sec)

整数を引数とした場合は、整数がそのまま返されます。

例4(整数を引数とした場合)
mysql> SELECT FLOOR( 52 );
+-------------+
| FLOOR( 52 ) |
+-------------+
|          52 |
+-------------+
1 row in set (0.00 sec)

文字を引数とした場合はNULLではなく0が返されます。

例5(文字を引数とした場合)
mysql> SELECT FLOOR( 'a' );
+--------------+
| FLOOR( 'a' ) |
+--------------+
|            0 |
+--------------+
1 row in set (0.00 sec)
スポンサードリンク
Fではじまる MySQL の関数 / 数値を扱う関数

数値を扱う関数

絶対値を求める (ABS)
剰余を求める (MOD)
小数点以下を切り下げる (FLOOR)
小数点以下を切り上げる (CEILING)
小数点以下を切り上げる (CEIL)
小数点以下を四捨五入する (ROUND)
対数を求める (LOG)
2を底とした対数を求める (LOG2)
10を底とした対数を求める (LOG10)
累乗(べき乗)を求める (POW)
累乗(べき乗)を求める (POWER)
符号を調べる (SIGN)
平方根を求める (SQRT)
円周率を求める (PI)
乱数を生成する (RAND)
最小値を調べる (LEAST)
最大値を調べる (GREATEST)
ラジアンを度に変換する (DEGREES)
度をラジアンに変換する (RADIANS)
小数点第N位で切り捨てる (TRUNCATE)
数値を整形する (FORMAT)
スポンサードリンク

Fではじまる MySQL の関数

FLOOR 小数点以下を切り下げる
FORMAT 数値を整形する