MariaDBにはFLOOR()
があります 関数とTRUNCATE()
引数の正確な値に応じて、同じ結果または異なる結果を返すことができる関数。
以下は、FLOOR()
の違いの概要です。 およびTRUNCATE()
MariaDBで。
違い
簡単に言うと、各機能の違いは次のとおりです。
-
FLOOR()
引数以下の最大の整数値を返します。 -
TRUNCATE()
引数を指定された小数点以下の桁数に切り捨てます。
構文
まず、各関数の構文は次のとおりです。
FLOOR()
FLOOR()
の構文 このようになります:
FLOOR(X)
X
以下の最大の整数値を返します 。
TRUNCATE()
TRUNCATE()
の構文 このようになります:
TRUNCATE(X,D)
TRUNCATE()
数値X
を返します 、D
に切り捨てられます 小数点以下。
例
FLOOR()
の違いを示すための比較を次に示します。 およびTRUNCATE()
:
SELECT
FLOOR(-3.6789),
TRUNCATE(-3.6789, 0);
結果:
+----------------+----------------------+ | FLOOR(-3.6789) | TRUNCATE(-3.6789, 0) | +----------------+----------------------+ | -4 | -3 | +----------------+----------------------+
この場合、数値は負の値であり、各関数の結果は異なります。
-
FLOOR()
最大の整数を返しました(-4
)引数以下の値。 -
TRUNCATE()
一方、関数は、指定された小数点以下の桁数を単純に切り捨てます。
同じ結果
両方の関数が同じ結果を返す場合があります。それはすべて、渡される引数の値に依存します。
数値を正の値に変更すると、両方の関数が同じ結果を返します。
SELECT
FLOOR(3.6789),
TRUNCATE(3.6789, 0);
結果:
+---------------+---------------------+ | FLOOR(3.6789) | TRUNCATE(3.6789, 0) | +---------------+---------------------+ | 3 | 3 | +---------------+---------------------+
2番目の引数
2つの関数のもう1つの明らかな違いは、TRUNCATE()
です。 2番目の引数を受け入れる/必要とします。これにより、小数部分を含む結果が得られる可能性があります。
FLOOR()
ただし、整数のみが返されるため、小数部分は返されません。
例
SELECT
FLOOR(3.6789),
TRUNCATE(3.6789, 2);
結果:
+---------------+---------------------+ | FLOOR(3.6789) | TRUNCATE(3.6789, 2) | +---------------+---------------------+ | 3 | 3.67 | +---------------+---------------------+
ROUND()
機能
どちらの関数もROUND()
とは異なります 関数。引数を指定された小数点以下の桁数に丸めます。