SQL中的decimal()函數的使用


decimal(10,2) 是什么意思 在一個表中

 
 decimal(10,2)中的“2”表示小數部分的位數,如果插入的值未指定小數部分或者小數部分不足兩位則會自動補到2位小數,若插入的值小數部分超過了2為則會發生截斷,截取前2位小數。

“10”指的是整數部分加小數部分的總長度,也即插入的數字整數部分不能超過“10-2”位,否則不能成功插入,會報超出范圍的錯誤。

SQL中的decimal()函數的使用

        decimal一般用於對精度要求高的,比如與金錢相關的,用整型和浮點型都不行了,才會用到decimal,或者用於sql查詢中也可以

         decimal(a,b)

         a:指的是整數和小數所能存的最多的位數

         b:指的是小數數字的位數,即a-b就是整數的位數

1.

如上圖:將1.11111111轉成總位數9位,小數位是5位,得出的1.11111,因為小數位是五位,整數只有1位,所以才得出是1.111111

2.

如上圖,總位數是5位,小數位要求4位,但是99.123只有三位,總位數要求5位,所以就造成了精度缺失,具體內部是怎么造成,目前還不是很清楚。結果就成了9.9999.

如果decimal(5,3),則輸入的是99.123

注:CAST(expr AS type) 是將某種數據類型的表達式顯式轉換為另一種數據類型


免責聲明!

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



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