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()とは異なります 関数。引数を指定された小数点以下の桁数に丸めます。