[英]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.