MySQLで最も近い整数に切り捨てるにはどうすればよいですか?
例: 12345.7344 rounds to 12345
mysqlのround()
関数は切り上げられます。
値も小数点以下の桁数もわかりません。小数点以下4桁の10桁、小数点以下7桁の2桁の可能性があります。
MySQLで最も近い整数に切り捨てるにはどうすればよいですか?
例: 12345.7344 rounds to 12345
mysqlのround()
関数は切り上げられます。
値も小数点以下の桁数もわかりません。小数点以下4桁の10桁、小数点以下7桁の2桁の可能性があります。
回答:
FLOORを使用する:
SELECT FLOOR(your_field) FROM your_table
FLOOR()
が、2つのサブクエリの違いが0でした(サブクエリの違いは-70.00でした)...これまでに見たことはありますか?
これは、次の2つの方法で実行できます。
select floor(desired_field_value) from table
select round(desired_field_value-0.5) from table
2番目の説明:12345.7344整数を想定します。したがって、12345.7344-0.5 = 12345.2344であり、結果を四捨五入すると12345になります。
これを試して、
SELECT SUBSTR(12345.7344,1,LOCATE('.', 12345.7344) - 1)
または
SELECT FLOOR(12345.7344)
小数が必要な場合はこれを使用できます
DECLARE @Num NUMERIC(18, 7) = 19.1471985
SELECT FLOOR(@Num * 10000) / 10000
出力:19.147100クリア:985追加:00
またはこれを使用します:
SELECT SUBSTRING(CONVERT(VARCHAR, @Num), 1, CHARINDEX('.', @Num) + 4)
出力:19.1471クリア:985