4

私はmysqlが初めてで、いくつかの基本的なことが必要です。

次のように小数を丸める必要があります。

21,4758 は 21,48 にする必要があります

0,2250 は 0,22 にする必要があります

23,0850 は 23,08 である必要があります

22,9950 は 22,99 にする必要があります

いろいろやってみましたが出来ませんでした。

ありがとう。

4

2 に答える 2

8

これを試して:

// round the value to two decimal places 
SELECT ROUND(<YOUR_FIELD>, 2) field FROM <YOUR_TABLE>
// use truncate if you don't wan't to round the actual value
SELECT TRUNCATE(<YOUR_FIELD>, 2) field FROM <YOUR_TABLE>
// you can also use round or truncate depending whether the third decimal is > 5
SELECT IF(SUBSTR(<YOUR_FIELD>, 5, 1) > 5, 
   ROUND(<YOUR_FIELD>, 2), 
   TRUNCATE(<YOUR_FIELD>, 2)) field 
FROM <YOUR_TABLE>;

上記は完全な解決策ではありませんが、おそらく正しい方向に向けられるでしょう。

mysql round()とのドキュメントを読むmysql truncate()

于 2012-11-24T13:32:02.650 に答える
7
DECLARE @old decimal(38, 10)
DECLARE @p decimal(38, 10)
SET @p = 21.4758

SET @p = @p * 100
SET @p = @p - 0.01
SET @p = ROUND(@p, 0)
SET @p = @p / 100.0
SELECT @p
于 2012-11-26T18:10:11.200 に答える