婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL中ROUND函數進行四舍五入操作陷阱分析

MySQL中ROUND函數進行四舍五入操作陷阱分析

熱門標簽:地圖標注賺錢真假 遵義地圖標注app 外呼系統從哪買 商家地圖標注哪個好 合肥營銷外呼系統收費 德惠市地圖標注 深圳 陜西400電話如何申請 承德電腦地圖標注

本文實例講述了MySQL中ROUND函數進行四舍五入操作陷阱。分享給大家供大家參考,具體如下:

在MySQL中, ROUND 函數用于對查詢結果進行四舍五入,不過最近使用ROUND函數四舍五入時意外發現并沒有預期的那樣,本文將這一問題記錄下來,以免大家跟我一樣犯同樣的錯誤。

問題描述

假如我們有如下一個數據表 test ,建表語句如下

CREATE TABLE test (
 id int(11) NOT NULL AUTO_INCREMENT,
 field1 bigint(10) DEFAULT NULL,
 field2 decimal(10,0) DEFAULT NULL,
 field3 int(10) DEFAULT NULL,
 field4 float(15,4) DEFAULT NULL,
 field5 float(15,4) DEFAULT NULL,
 field6 float(15,4) DEFAULT NULL,
 PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

我們創建了一個名為 test 的表,出了 id 字段之外還包含了多個字段,擁有這不同的數據類型。我們向這個表中插入一條數據

INSERT INTO test (field1, field2, field3, field4, field5, field6) VALUE (100, 100, 100, 1.005, 3.5, 2.5);

插入之后表中的數據是這樣的

mysql> select * from test;
+----+--------+--------+--------+--------+--------+--------+
| id | field1 | field2 | field3 | field4 | field5 | field6 |
+----+--------+--------+--------+--------+--------+--------+
| 1 |  100 |  100 |  100 | 1.0050 | 3.5000 | 2.5000 |
+----+--------+--------+--------+--------+--------+--------+
1 rowin set (0.00 sec)

如果現在我們執行下面這個SQL,你覺得結果會是什么樣的呢?

SELECT
 round(field1 * field4),
 round(field2 * field4),
 round(field3 * field4),
 round(field1 * 1.005),
 round(field2 * 1.005),
 round(field3 * 1.005),
 round(field5),
 round(field6)
FROM test;

最初一直以為這樣的結果肯定是都是 101 ,因為上面這六個取值結果都是對 100 * 1.005 進行四舍五入,結果肯定都是 101 才對,而后面兩個肯定是 4 和 3 才對,但是最終的結果卻是與設想的大相徑庭

*************************** 1. row ***************************
round(field1 * field4): 100
round(field2 * field4): 100
round(field3 * field4): 100
 round(field1 * 1.005): 101
 round(field2 * 1.005): 101
 round(field3 * 1.005): 101
    round(field5): 4
    round(field6): 2
1 rowin set (0.00 sec)

為什么會這樣?

同樣是100*1.005,為什么從數據庫中的字段相乘得到的結果和直接字段與小數相乘得到的不一樣呢?

對這個問題百思不得其解,各種百度谷歌無果。。。沒辦法,還得靠自己,這個時候最有用的就是官網文檔了,于是查詢了mysql官方文檔中關于ROUND函數的部分,其中包含下面兩條規則

  • For exact-value numbers, ROUND() uses the “round half up” rule對于精確的數值, ROUND 函數使用四舍五入
  • For approximate-value numbers, the result depends on the C library. On many systems, this means that ROUND() uses the “round to nearest even” rule: A value with any fractional part is rounded to the nearest even integer. (對于近似值,則依賴于底層的C函數庫,在很多系統中 ROUND 函數會使用“取最近的偶數”的規則)

通過這兩條規則,我們可以看出,由于我們在使用兩個字段相乘的時候,最終的結果是按照 float 類型處理的,而在計算機中 float 類型不是精確的數,因此處理結果會按照第二條來,而直接整數字段與1.005這樣的小數運算的結果是因為兩個參與運算的值都是精確數,因此按照第一條規則計算。從 field5 和 field6 執行 ROUND 函數的結果可以明確的看確實是轉換為了最近的偶數。

總結

從這個例子中可以看到,在MySQL中使用ROUND還是要非常需要注意的,特別是當參與計算的字段中包含浮點數的時候,這個時候計算結果是不準確的。

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數據庫鎖相關技巧匯總》及《MySQL常用函數大匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

您可能感興趣的文章:
  • MySQL Where 條件語句介紹和運算符小結
  • MySQL中的運算符使用實例展示
  • MySQL筆記之運算符使用詳解
  • mySQL UNION運算符的默認規則研究
  • PHP MySQL應用中使用XOR運算加密算法分享
  • 與MSSQL對比學習MYSQL的心得(五)--運算符
  • Mysql常用運算符與函數匯總
  • mysql 字符串長度計算實現代碼(gb2312+utf8)
  • MySQL幾點重要的性能指標計算和優化方法總結

標簽:贛州 揚州 三門峽 貴州 南陽 新余 商丘 巴中

巨人網絡通訊聲明:本文標題《MySQL中ROUND函數進行四舍五入操作陷阱分析》,本文關鍵詞  MySQL,中,ROUND,函數,進行,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL中ROUND函數進行四舍五入操作陷阱分析》相關的同類信息!
  • 本頁收集關于MySQL中ROUND函數進行四舍五入操作陷阱分析的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91福利精品第一导航| 久久国产精品免费| 国产三级一区二区三区| 久久综合久久久久88| 日韩无一区二区| 精品久久一区二区| xnxx国产精品| 国产欧美一区二区在线观看| 久久精品欧美日韩| 国产精品无圣光一区二区| 国产精品久久久久久久久久久免费看 | 337p日本欧洲亚洲大胆精品| 久久久欧美精品sm网站| 久久久久9999亚洲精品| 国产亚洲一区字幕| 国产精品美女久久久久久久网站| 中文字幕亚洲电影| 综合激情成人伊人| 亚洲成a人v欧美综合天堂下载| 肉色丝袜一区二区| 国产精品一二三四五| 精品国产伦一区二区三区观看方式| 91精品国产手机| 日韩精品一区二区在线观看| 国产亚洲婷婷免费| 日韩一区有码在线| 日本vs亚洲vs韩国一区三区二区| 国产传媒一区在线| 91极品美女在线| 日韩欧美国产午夜精品| 国产精品成人免费| 三级一区在线视频先锋| 成人激情小说网站| 欧美人体做爰大胆视频| 国产欧美久久久精品影院| 亚洲一区二区三区三| 九色综合国产一区二区三区| 91在线看国产| 日韩精品在线一区| 一区二区三区加勒比av| 国产成人自拍网| 欧美一区午夜精品| 亚洲美女屁股眼交3| 国产一区二区三区在线观看精品| 91女人视频在线观看| 日韩欧美一二三| 亚洲色图20p| 国产成人综合精品三级| 日韩女优av电影| 亚洲成人综合视频| 不卡影院免费观看| 国产亚洲精品资源在线26u| 日韩av一区二区在线影视| 97久久精品人人做人人爽| 精品久久99ma| 日日噜噜夜夜狠狠视频欧美人| 成人精品视频.| 精品福利一区二区三区免费视频| 亚洲综合在线第一页| a在线欧美一区| 欧美高清在线精品一区| 国产成人综合网站| 久久人人爽人人爽| 精品一二三四在线| 精品区一区二区| 理论片日本一区| 日韩欧美国产综合一区 | 日韩综合小视频| 在线视频国内自拍亚洲视频| 亚洲欧洲无码一区二区三区| 国产免费久久精品| 国产精品1区二区.| 国产欧美精品日韩区二区麻豆天美| 国模娜娜一区二区三区| 久久久亚洲国产美女国产盗摄 | 国产欧美日韩一区二区三区在线观看| 日韩电影免费一区| 日韩一级片在线播放| 男女男精品网站| 欧美一级理论性理论a| 久久激情五月激情| 国产亚洲一区二区三区在线观看| 国产99久久久久| 中文字幕一区二区三区不卡在线| 成人爽a毛片一区二区免费| 亚洲欧洲日韩综合一区二区| 99国产精品视频免费观看| 一区二区三区在线高清| 色婷婷精品久久二区二区蜜臂av | 国内精品久久久久影院薰衣草| 日韩欧美在线一区二区三区| 欧美大片一区二区三区| 久久av中文字幕片| 国产精品理伦片| 欧美天堂一区二区三区| 另类小说视频一区二区| 国产日韩欧美不卡在线| 91免费看`日韩一区二区| 亚洲成人av电影| 亚洲精品在线观看网站| 成人黄色免费短视频| 亚洲123区在线观看| 国产亚洲午夜高清国产拍精品 | 国产精品影视天天线| 中文字幕日韩精品一区| 欧美理论片在线| 国产一区亚洲一区| 亚洲最新视频在线观看| 久久免费美女视频| 在线看不卡av| 国产成人精品1024| 日本美女一区二区三区视频| 亚洲欧洲性图库| 精品国产乱码久久| 亚洲色图制服丝袜| 欧美成人精品高清在线播放| 91麻豆福利精品推荐| 久久激五月天综合精品| 一级日本不卡的影视| 国产欧美精品一区二区色综合| 91精品免费观看| 91麻豆免费在线观看| 国产高清不卡一区| 免费观看91视频大全| 一区二区三区鲁丝不卡| 国产精品蜜臀在线观看| 日韩午夜精品电影| 欧美日韩dvd在线观看| 色综合久久综合| 国产高清无密码一区二区三区| 日本欧美一区二区三区乱码| 亚洲综合免费观看高清完整版| 中文字幕精品一区二区三区精品| 日韩欧美综合在线| 6080国产精品一区二区| 欧美在线免费观看亚洲| 色一区在线观看| 99久久伊人久久99| 成人国产视频在线观看| 成人精品一区二区三区中文字幕| 国产麻豆视频一区二区| 激情另类小说区图片区视频区| 免费不卡在线视频| 久久国产乱子精品免费女| 蜜乳av一区二区| 日本不卡视频在线观看| 麻豆一区二区三| 日韩av一级电影| 欧美aaa在线| 极品少妇一区二区| 国内外成人在线视频| 国产精品一卡二卡在线观看| 国模套图日韩精品一区二区 | 91丨九色丨国产丨porny| 一本大道综合伊人精品热热 | 欧美日韩视频不卡| 亚洲一区二区三区四区中文字幕| 亚洲色图视频网| 亚洲国产成人91porn| 日本色综合中文字幕| 激情欧美日韩一区二区| 国产91丝袜在线观看| 色综合一区二区| 精品污污网站免费看| 欧美电影免费观看高清完整版在线观看| 欧美一三区三区四区免费在线看 | 欧美变态tickling挠脚心| wwww国产精品欧美| 国产精品久久久久久妇女6080| 亚洲女子a中天字幕| 亚洲成人av福利| 国产一区二区精品久久91| 成人av第一页| 欧美挠脚心视频网站| www国产精品av| 一区二区三区日韩精品| 日本中文字幕不卡| 国产99一区视频免费| 欧美性淫爽ww久久久久无| 日韩视频123| 国产精品久久久久久久久搜平片| 亚洲成国产人片在线观看| 国产一区二区看久久| 欧美偷拍一区二区| 国产亚洲成aⅴ人片在线观看 | 4hu四虎永久在线影院成人| 久久久精品免费观看| 亚洲精品日韩一| 国产制服丝袜一区| 色欧美乱欧美15图片| 久久久久久久久久久久电影 | 日韩女优av电影在线观看| 中文字幕一区二区三区精华液| 美女精品一区二区| 色视频一区二区| 国产精品久久久久7777按摩| 美女一区二区三区| 欧美日韩一区视频| 亚洲视频在线观看三级| 国产精品综合在线视频|