T-SQL——關於求百分比

shanzm-2024-4-16 21:21:45

1.SQL取百分比

示例0:求1/3後取百分比,保留兩位小數

SELECT CAST(CAST(1 * 1.0 * 100 / 3 AS DECIMAL(10, 2)) AS VARCHAR(50)) + '%';
--SqlServer2012版本之後:
SELECT FORMAT(1*1.0/3, 'P') Result;
---
33.33%
33.33%

示例1:最基本的兩列百分比


WITH temp AS 
(
SELECT 1 AS NumA, 3 AS NumB 
)
SELECT CAST( CAST( temp.NumA*1.0*100/temp.NumB AS DECIMAL(10,2)) AS VARCHAR(50))+'%' FROM temp;
---
33.33%

示例2:關於處理除零錯誤


--首先:0/NULL=NULL
SELECT 0/NULL;--NULL

--其次:NULLIF(a,b) 表示:若a等於b,則返回NULL,否則返回a
SELECT  0/NULLIF(0,0)--NULL

--最後:ISNULL判斷是否是NULL,若是返回0
SELECT ISNULL(0/NULLIF(0,0),0)--0

WITH temp AS 
(
SELECT 1 AS NumA, 3 AS NumB 
UNION ALL
SELECT 1 AS NumA, 0 AS NumB 
)
SELECT CAST( ISNULL( CAST( temp.NumA*1.0*100/ NULLIF( temp.NumB,0) AS DECIMAL(10,2)),0) AS VARCHAR(50))+'%'  AS 百分比 FROM temp;

---結果:

百分比
-----------
33.33%
0.00%


2.C#取百分比


decimal percent = 0.3333333M;

string q1 = percent.ToString("P"); //33.33%  自動四捨五入,百分數,千位分隔,自動兩個小數
string q2 = percent.ToString("P0"); //33%    P後邊跟數字,代表精度。
string q3 = percent.ToString("P1"); //33.3%
string q4 = percent.ToString("P2"); //33.33%
string q5 = percent.ToString("P3"); //33.333%
string q6 = percent.ToString("P4"); //33.3333%
string q7 = percent.ToString("P5"); //33.33333%
string q8 = percent.ToString("P6"); //33.333330%



3.JS取百分比

//兩數相除取百分比%並保留兩位小數
function Percentage(number1, number2) 
{ 
    return (Math.round(number/number2 * 10000) / 100.00 + "%");    // 小數點後兩位百分比
}
var res = Percentage(1, 3)
console.log(res)//打印:33.33%

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