第一:我是一個MySql新手,它看起來像我在這裏失去了重要的東西。MySQL(MariaDB)浮點可視化:爲什麼值被舍入到數百或數千?
在MySQL數據庫中,我的float值範圍從單位到數十億。 我花了幾天試圖理解爲什麼他們都表現出與設置爲0不太顯著的人不超過6顯著數字:
即:
select `field` from `table`;
(instead of X -> i get Y)
1 -> 1
12 -> 12
123 -> 123
1234 -> 1234
12345 -> 12345
123456 -> 123456
1234567 -> 1234570
12345678 -> 12345700
123456789 -> 123457000
只能用一個「絕招」我在什麼地方找到我可以讀取實際值:
select `field`+0.0 from `table`;
我的問題:這個(imho)奇怪行爲背後的基本原理是什麼?它在文檔中描述的地方在哪裏? 我發現完全不直觀,我沒有看到真正的價值(當然近似根據IEEE規範)與正常的選擇*,但我需要的伎倆......我在這裏錯過了什麼?
請問您可以展示[mcve],例如從表創建到數據選擇複製/粘貼一個完整的MySQL會話?如果在那裏的輸出格式允許演示這個問題,甚至可能用[sqlfiddle](http://sqlfiddle.com)來演示? – eggyal
@eggyal,這裏是最簡單的例子:http://sqlfiddle.com/#!9/352bf/1/0 從ID6開始,結果取整爲6個有意義的密碼。問題是,默認情況下,「select *」我通常會看到四捨五入的值,而不是真正的值... 我假設有一個命令來設置數據庫使用「真實」的值,但不能理解這個奇怪的開發者選擇的原因是什麼? –
剛剛嘗試過SQLfiddle:使用_double_而不是_float_完美工作。 –