SQL中的cast()函數 & decimal(9,2)相互結合使用效果 & 如何加上"%" 返回數據

首先需求是將數據庫中的數據進行處理後 以保留2位小數的形式且最大位數不得超過9位數的形式以百分號的展現形式展現到頁面。
比如說:
(1)數據庫存的數字是:25.56985 那麼展現的形式應該就是:25.56%
(2)數據庫存的數字是:167.2323 那麼展現的形式應該是:167.23%

那麼問題來了 改如何處理呢?
(1)CAST ()
語法:CAST (expression AS data_type)
expression:任何有效的SQServer表達式。
AS:用於分隔兩個參數,在AS之前的是要處理的數據,在AS之後是要轉換的數據類型。
data_type:目標系統所提供的數據類型。

(2)decimal()
語法:decimal(a,b)。
a:指定指定小數點左邊和右邊可以存儲的十進制數字的最大個數,最大精度38;通俗來講就是左右兩邊相加總共最多可以展現的數字位數。
b:指定小數點右邊可以存儲的十進制數字的最大個數,小數位數必道須是從 0 到 a之間版的值,默認小數位數是 0。通俗講就是小數點後面的數字展現的最大的位數。
注意:數字展現的最大的位數,不是保留的位數喲,如果沒有那麼多位數就展現當前的數字就行,不需要強行補位數。

比如說:
(1)有一個數字是123456789.12345
如果用decimal(10,1) 展現結果爲:123456789.1
如果用decimal(11,2) 展現結果爲:123456789.12
如果用decimal(10,2) 展現結果爲:99999999.99 (因爲損失精度了。要求總共左右兩邊只能最多有10位,前面已經有9位數字了,後面就只能再有一位數字,可是要求後面還得保留2位,所以就只能在規定的要求中損失精度保留最大值了)
(2)有一個數字是123
如果用decimal(3,2) 展現結果爲123
如果用decimal(10,1) 展現結果爲123
如果用decimal(9,2) 展現結果爲123
如果用decimal(2,2) 展現結果爲0.99

最後結合使用兩則,後面加上“,’%’ ” 就可以達到需求效果啦。
例如:123.333這個數字想要展現成123.33%
就可以這樣使用: cast(‘123.333’ as decimal(9,2)),’%’) 效果如下圖:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章