簡體   English   中英

MySQL-存儲大於1的數字,並帶有大量小數位

[英]MySQL - Storing numbers, greater than 1, with a large number of decimal places

我需要使用具有許多小數位的准確數字。 如果我使用decimal類型(因為float不夠精確,無法存儲此類數字),我可以得到類似0.003352466並且可以准確地保留它。 但是,如果我將該數字設置為大於1,將無法存儲1.003352466

如何將兩種類型的數字存儲在一列中?

就像,如果一行的值是0.003352466但是下一行需要存儲1.003352466 ,我該怎么做? 我一直無法弄清楚。

僅供參考,我最初嘗試過DECIMAL(10,10),並且遭受了與上述相同的失敗。


編輯:

我嘗試指定DECIMAL(2,10)但是失敗,因為左側的數字必須等於或大於右側的數字。 所以我嘗試了DECIMAL(10,10)DECIMAL(10,10)簡直無法寫入數據庫。 正如我上面提到的,它將讓我輸入0.003352466但不能輸入1.003352466

解決方案...使第一個數字大於第二個數字,它可以工作!

如前所述, DECIMAL(10,10)將無法寫入,但DECIMAL(10,9)將成功。 去搞清楚。

您可能有錯誤的表定義(是否願意顯示?)。 手冊

DECIMAL列的聲明語法為DECIMAL(M,D)。 MySQL 5.1中參數的值范圍如下:

M是最大位數(精度)。 它的范圍是1到65。(較早版本的MySQL允許范圍是1到254。)

D是小數點右邊的位數(標度)。 范圍是0到30,並且不得大於M。

因此,在這種情況下, DECIMAL(11,9)將起作用,並根據需要進行更改。

提供字段聲明的精度。

DECIMAL(N, M)表示“總共N位,小數位數為M ”。

說, DECIMAL(10, 2)將允許您存儲從0.00±99999999.99數字。

暫無
暫無

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

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