値を最も近い整数に切り上げる必要があるSQLを実行しています。
必要なのは、45.01から46に切り上げます。45.49から46に切り上げます。また、45.99から46に切り上げます。すべてを1桁上げたい。
次のようなUPDATEステートメントでこれを達成するにはどうすればよいですか?
Update product SET price=Round
少なくともMySQLでは ceil
関数を使用できます。 SQLコードのこの部分:
_select ceil(45.01), ceil(45.49), ceil(45.99);
_
毎回「46」を取得します。
あなたの更新のために、私は言うでしょう:
_Update product SET price = ceil(45.01)
_
BTW:MySQLでは、 ceil
は ceiling
のエイリアスです。他のDBシステムについてはわからないので、使用しているDBに応じて、どちらかを使用する必要があります...
ドキュメントの引用:
CEILING(X)
X以上の最小の整数値を返します。
そして、与えられた例:
_mysql> SELECT CEILING(1.23);
-> 2
mysql> SELECT CEILING(-1.23);
-> -1
_
試すceiling...
SELECT Ceiling(45.01), Ceiling(45.49), Ceiling(45.99)
天井は、使用するコマンドです。
ラウンドとは異なり、天井は1つのパラメーター(切り上げたい値)のみを取得するため、小数点以下の桁数に丸める場合は、まずその数の小数点以下の桁数を乗算し、その後で除算する必要があります。
例。
1.2345を小数点以下2桁に切り上げます。
CEILING(1.2345*100)/100 AS Cost
MS SQL CEILING(あなたの番号)の場合は切り上げられます。 FLOOR(あなたの番号)は切り捨てます
四捨五入する場合は、ラウンド関数を使用します。引数よりも大きい最小の整数を取得する場合は、天井関数を使用します。
例:デュアルからラウンド(843.4923423423,0)を選択すると843と
デュアルからラウンド(843.6923423423,0)を選択すると、844が得られます
これはデータベースサーバーによって異なりますが、多くの場合CEIL
やCEILING
などと呼ばれます。たとえば、MySQLでは...
_mysql> select ceil(10.5);
+------------+
| ceil(10.5) |
+------------+
| 11 |
+------------+
_
その後、UPDATE PRODUCT SET price=CEIL(some_other_field);
を実行できます
ラウンドとシーリングを組み合わせて、適切な切り上げを行います。
select ceiling(round(984.375000), 0)) => 984
ながら
select round(984.375000, 0) => 984.000000
そして
select ceil (984.375000) => 985