2009-09-07 2 views
18

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

私が必要とするのは、45.01ラウンド46までです.45.49ラウンド46に。また、45.99ラウンド46までです。私はすべてを1桁の数字にしたい。

これは、次のようなUPDATEステートメントでどのように達成できますか?

Update product SET price=Round 

答えて

23

をお試しください。この部分のSQLコード:

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

は、毎回「46」を取得します。あなたの更新のために

、そう、私が言うと思います:

ところで
Update product SET price = ceil(45.01) 


:MySQLのでは、ceilceilingの別名です。他のDBシステムについて必ず、あなたはどちらか一方を使用する必要がある場合がありますので、DBに応じて、あなたは文書の引用...


を使用していません。

CEILING(X)

戻り値を

:X.

所与の例より 小さくない最小の整数値

mysql> SELECT CEILING(1.23); 
     -> 2 
mysql> SELECT CEILING(-1.23); 
     -> -1 
2

これはデータベースサーバーによって異なりますが、多くの場合、CEILまたはCEILINGと呼ばれます。例えば、MySQLで...

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

あなたは四捨五入round関数を使用する場合は、その後、UPDATE PRODUCT SET price=CEIL(some_other_field);

+0

ようこそ!インデントされた4つのスペースはコードとして書式設定されていますが、エディタでこれを行うには、バイナリ数字のボタンを使用できます。これを行うにはあなたの答えを修正してもらえませんか? –

3

を行うことができます。あなたの引数よりも少し小さい整数を取得したい場合は、ceiling関数を使用してください。 EXのために

:デュアルから(843.4923423423,0)ラウンドを選択はあなたに843と

を与える デュアルから選択ラウンド(843.6923423423,0は)(あなたのMS SQLのCEILINGについては844

+0

最も近いペニーに丸めたい場合はどうすればいいですか?税金が$ 13.052であれば、$ 13.053まで丸める必要があります。私は天井()を使うことができましたが、最初に100倍にしてから100で割る必要があります。 – datagod

4

を与えますあなたの番号)はそれを切り上げます。 フロア番号は切り捨てます

3

天井は使用するコマンドです。

ラウンドとは異なり、天井は1つのパラメータ(切り上げたい値)しか取らないため、小数点以下を丸めたい場合は、最初にその小数点以下の桁数を掛けてから除算する必要があります。

例。

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

CEILING(1.2345*100)/100 AS Cost 
関連する問題