簡體   English   中英

在SQL中四舍五入一個數字

[英]round a number in SQL

我有一個數字,並且在SQL中使用ROUND()函數:

SELECT ROUND(1.81999,2,1)

我想要的結果是1.82,而不是1.81。
我不知道我的錯誤在哪里。

SELECT ROUND(1.81999,2,1)將截斷結果。 所以結果是1.81

使用它執行原始舍入SELECT ROUND(1.81999,2)。

MySQL的? 僅ROUND(...,2)為我工作。

mysql> SELECT ROUND(1.81999,2);
+------------------+
| ROUND(1.81999,2) |
+------------------+
|             1.82 |
+------------------+
1 row in set (0.00 sec)

mysql>

答案很簡單。 您在Function命令(ROUND()命令的第3個參數)中指定1。
來自MSDN的關於此參數的報價:
如果省略函數或值為0(默認值),則將數字表達式四舍五入。 當指定非0的值時,numeric_expression被截斷

只需將1的末尾更改為0或完全省略即可解決問題

請參見Round(Transact-SQL)的 “舍入為舍入”部分

這可能取決於您使用的SQL方言。

使用此查詢

select round(1.81999,2)

馬諾吉

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM