在mysql中,貨幣常使用Decimal和Numric型別的欄位表示,這兩種型別被MySQL實現為同樣的型別;它們被用於儲存值,該值的準確精度是極其重要的值,例如與金錢有關的資料。
開發中,貨幣在資料庫中MySQL常用Decimal和Numric型別表示,這兩種型別被MySQL實現為同樣的型別。他們被用於儲存值,該值的準確精度是極其重要的值,例如與金錢有關的資料。當宣告一個類是這些型別之一時,精度和規模的能被(並且通常是)指定;例如:
salary DECIMAL(9,2)
在這個例子中,9(precision)代表將被用於儲存值的總的小數位數,而2(scale)代表將被用於儲存小數點後的位數。因此,在這種情況下,能被儲存在salary列中的值的範圍是從-9999999.99到9999999.99。
DECIMAL和NUMERIC值作為字串儲存,而不是作為二進位制浮點數,以便儲存那些值的小數精度。一個字元用於值的每一位、小數點(如果scale>0)和「-」符號(對於負值)。如果scale是0,DECIMAL和NUMERIC值不包含小數點或小數部分。
不使用float或者double的原因:因為float和double是以二進位制儲存的,所以有一定的誤差。
比如:在資料庫中c1,c2,c3分別儲存型別是float(10.2),decimal(10.2),float型別。
插入資料:
INTO test (c1,c2,c3) VALUES (1234567.23,1234567.23,1234567.23)
資料在資料庫中的儲存結果是:
可以看出,使用float型別儲存有一定的誤差。因此使用decimal或者numric型別。
推薦教學:
以上就是mysql貨幣使用什麼欄位型別?的詳細內容,更多請關注TW511.COM其它相關文章!