mysql 貨幣字段類型的存儲


loat類型是可以存浮點數(即小數類型),但是float有個壞處,當你給定的數據是整數的時候,那么它就以整數給你處理。這樣我們在存取貨幣值的時候自然遇到問題,我的default值為:0.00而實際存儲是0,同樣我存取貨幣為12.00,實際存儲是12.
幸好mysql提供了兩個數據類型:numeric和decimal,這兩種數據類型可以輕松解決上面的問題:
NUMERIC 和 DECIMAL 類型被 MySQL 以同樣的類型實現,這在 SQL92 標准中是允許的。他們用於保存對准確精度有重要要求的值,例如與金錢有關的數據。當以它們中的之一聲明一個列時,精度和數值范圍可以(通常是)被指定;例 如: 
salary DECIMAL(5,2) 
在這個例子中,5 (精度(precision)) 代表重要的十進制數字的數目,2 (數據范圍(scale)) 代表在小數點后的數字位數。在這種情況下,因此,salary 列可以存儲的值范圍是從 -99.99 到 99.99。(實際上 MySQL 在這個列中可以存儲的數值可以一直到 999.99,因為它沒有存儲正數的符號)。 
譯者注: 
M 與D 對DECIMAL(M, D) 取值范圍的影響 
類型說明 取值范圍(MySQL < 3.23) 取值范圍(MySQL >= 3.23) 
DECIMAL(4, 1) -9.9 到 99.9 -999.9 到 9999.9 
DECIMAL(5, 1) -99.9 到 999.9 -9999.9 到 99999.9 
DECIMAL(6, 1) -999.9 到 9999.9 -99999.9 到 999999.9 
DECIMAL(6, 2) -99.99 到 999.99 -9999.99 到 99999.99 
DECIMAL(6, 3) -9.999 到 99.999 -999.999 到 9999.999 
# 在MySQL 3.23 及以后的版本中,DECIMAL(M, D) 的取值范圍等於早期版本中的DECIMAL(M + 2, D) 的取值范圍。 
還有一種數據類型也是比較棒的: 那就是LongBlob,這種數據類型可以直接把圖像文件存到數據庫中!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM