22

値を最も近い整数に切り上げる必要がある SQL を実行しています。

必要なのは、45.01 を 46 に切り上げることです。また、45.49 を 46 に切り上げます。また、45.99 も 46 に切り上げます。すべてを一桁上げたい。

次のような UPDATE ステートメントでこれを達成するにはどうすればよいですか?

Update product SET price=Round
4

7 に答える 7

32

ceiling関数を使用できます。SQL コードのこの部分:

select ceiling(45.01), ceiling(45.49), ceiling(45.99);

毎回「46」を取得します。

あなたの更新のために、私は言います:

Update product SET price = ceiling(45.01)

ところで:MySQLでは、ceilへのエイリアスceilingです。他のDBシステムについてはわからないので、使用しているDBに応じて、どちらかを使用する必要があるかもしれません...

ドキュメントの引用:

CEILING(X)

X 以上の最小の整数値を返します。

そして与えられた例:

mysql> SELECT CEILING(1.23);
        -> 2
mysql> SELECT CEILING(-1.23);
        -> -1
于 2009-09-07T11:13:19.250 に答える
15

試し天井...

SELECT Ceiling(45.01), Ceiling(45.49), Ceiling(45.99)

http://en.wikipedia.org/wiki/Floor_and_ceiling_functions

于 2009-09-07T11:12:13.667 に答える
5

MS SQL の場合、CEILING(あなたの番号) は切り上げます。FLOOR(あなたの番号)は切り捨てます

于 2013-03-21T08:39:54.377 に答える
4

Ceiling は、使用したいコマンドです。

Round とは異なり、Ceiling は 1 つのパラメーター (切り上げたい値) しか取りません。したがって、小数点以下を四捨五入したい場合は、最初にその数の小数点以下の桁数を数値に掛け、その後で除算する必要があります。

例。

1.2345 を小数点以下 2 桁に切り上げます。

CEILING(1.2345*100)/100 AS Cost
于 2015-11-16T10:25:24.340 に答える
3

四捨五入したい場合は round 関数を使います。引数よりも大きい最小の整数を取得する場合は、ceiling 関数を使用します。

例: デュアルから round(843.4923423423,0) を選択すると、843 と

デュアルからラウンド(843.6923423423,0)を選択すると、844が得られます

于 2009-09-07T12:02:44.907 に答える
3

ラウンドと天井を組み合わせて、適切なラウンドアップを取得します。

select ceiling(round(984.375000), 0)) => 984

その間

select round(984.375000, 0) => 984.000000

select ceil (984.375000) => 985
于 2019-04-18T12:45:26.823 に答える
2

CEILこれはデータベース サーバーによって異なりますが、や などと呼ばれることがよくありますCEILING。たとえば、MySQL では...

mysql> select ceil(10.5);
+------------+
| ceil(10.5) |
+------------+
|         11 | 
+------------+

その後、次のことができますUPDATE PRODUCT SET price=CEIL(some_other_field);

于 2009-09-07T11:13:19.640 に答える