在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影片教學
#以上是mysql貨幣使用什麼欄位類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!