A. sql求百分比的問題
這是什麼資料庫呀?俺沒有見過(糗). 最後一列能不能直接使用字元串'100.00%' 呢?
希望下邊的sql能幫助到你
SELECT T1.供應商,T1.貨物,T1.數量,T2.總數量,ROUND(T1.數量*100/T2.總數量,2)||'%' 比例, '100.00%',T2.總數量/T2.總數量 FROM (
(SELECT 供應商,貨物,數量 FROM T_TABLE) T1
LEFT JOIN
(SELECT 貨物,count(數量) 總數量 FROM T_TABLE GROUP 貨物 ) T2
ON T1.貨物=T2.貨物
)
B. sql查詢結果怎麼以百分數表示
select rtrim(convert(decimal(18,2),某日費用*100.0/當月費用))+'%'。
如果是要在Grid中顯示,那就定義個字元型的欄位吧,長度7就夠了,因為不會出現超過100%的情況。
欄位值=Convert(varchar(7),Round(某日費用/當月費用*100,2))+'%'。
或者:
欄位值=LTrim(RTrim(Str(某日費用/當月費用*100,30,2)))+'%'。
C. 用SQL求百分比,同一列數據
select name,str((case (select isnull(sum(cost),0) from table1) when 0 then 0 else cost/(select isnull(sum(cost),0) from table1) end)*100,10,2)+'%' as bfb from table1
以上sql語句較長,解釋一下:
使用case...when...end,是為了避免合計cost為0的話,出現無法除0的錯誤;結果值乘以100是為了配合百分比格式;使用str(...,10,2)函數是把計算出來的數字值轉換成兩位小數精度的文本串;最後,在結果後加上一個百分號,效果就完整了。
以上語句在sqlserver資料庫中測試通過。
D. SQL語句小數變成百分數
select convert(numeric(8,2) ,
cast( (select convert(Numeric(8,2),( select COUNT(*) from 表 where 列1=1229)) /
(select count(列1) from 表))) * 100 as varchar(10) ) + '%'
註:*100 as varchar(10))+'%' (10) 變成長度是10的字元串,然後再加上%號,如果不用加%,就不用cast,直接 * 100 就可以了。
(4)sql字元串百分比如何使用擴展閱讀:
注意事項
一、concat函數
該函數用於字串的拼接,比如我們想把10變成10%,就可以寫成:
select concat(10,'%');
二、FLOOR(X)
將小數的小數部分去除,只留下整數部分,並且不進行四捨五入。
select FLOOR(5.5);
運行結果為:5
ROUND(X,D)函數和TRANCATE(X,D)函數
兩個函數都可以用來對小數保留指定小數位數,其中第二個參數D用來指定要保留到第幾位。差別是前者會進行四捨五入,而後者不會。
select ROUND(5.55,1);
select TRANCATE(5.55,1);
二者的運行結果分別為:5.6、5.5。
E. 使用sql語句計算百分比
1、若針對每行求百分比: select SA/TotelTime ,SB/TotelTime ,SC/TotelTime ,SD/TotelTime ,SE/TotelTime from 表名 。
2、若是對總計後的值求百分比: select sum(SA)/sum(TotelTime) ,sum(SB)/sum(TotelTime) ,sum(SC)/sum(TotelTime) ,sum(SD)/sum(TotelTime) ,sum(SE)/sum(TotelTime) from 表名
3、當然,以上都是以小數形式顯示結果,若要以百分比形式顯示結果:乘以100,並保留兩位小數,然後加上「%」即可。
如:round((SA/TotelTime)*100,2) & "%"
F. sql查詢結果以百分比顯示
1、sql查詢結果如何以百分比形式輸出
舉例:比如共500份,賣出20份,求賣出百分比數
MySql語法:
SELECT CONCAT(ROUND(20/500*100,2),'%');
2、sql資料庫介紹:
(1)sql是Structured Query Language(結構化查詢語言)的縮寫。SQL是專為資料庫而建立的操作命令集,是一種功能齊全的資料庫語言。
(2)在使用它時,只需要發出"做什麼"的命令,"怎麼做"是不用使用者考慮的。SQL功能強大、簡單易學、使用方便,已經成為了資料庫操作的基礎,並且現在幾乎所有的資料庫均支持SQL。
(3)參考資料:
a.SQL(Structured Query Language)結構化查詢語言.網學 . 2013-03-04
b.功能齊全 SQL資料庫就選世紀遠揚.哈爾濱工程大學國家大學科技園 . 2013-03-04
c.夜間備份要優先考慮SQL資料庫.TechTarget存儲 . 2015-06-24
d.sql資料庫入門學習總結.數據中心 . 2014-04-08
G. sql 如何在查詢的數據中加%號
題主的意思緩州應該是在查詢結果為int型數據後面,加上%號,比如查詢及格率的時候。
提供一種方模哪啟法,可以用cast函數將int型數據轉換為varchar型,然後再加上%就OK了。
模板是:cast(int型數據 as varchar)+ '%'旦如
舉個例子:
比如我想查詢資料庫的及格率(按照百分比輸出):
CAST(round(100*sum(case when c.cname='資料庫' and s.score>=60 then 1 else 0 end)/SUM(case when c.cname='資料庫' then 1 else 0 end),0) as varchar) +'%' as 及格率
H. 用sql語句如何計算百分比或者統計數據個數
declare @biXiu int,@Zongshu int
select @biXiu=count(*) from course where type='必修'
select @Zongshu=count(*) from course
select cast(@biXiu*100.0/@Zongshu as varchar)+'%'
--其中 @biXiu代表必修個總數
--補充字元串說明
SELECT CAST('123.456' as decimal) 將會得到 123(小數點後面的將會被省略掉)。如果希望得到小數點後面的兩位。則需要把上面的改為SELECT CAST('123.456' as decimal(38, 2))
I. SQL Server 怎麼把一個欄位變為百分比顯示
欄位是能力計劃率, 應該保存的已經是個百分數了,只要加上%就行了吧?
selectCONVERT(VARCHAR,能力計劃率)+'%'from對象表
J. SQL怎麼把小數轉換為百分比
先將數據轉換為numeric類型,保留4位小數點,由零點幾變為百分號前邊的數字,再轉換為varchar類型,然後再加'%'
如:
select ml as 毛利,sshje as 實收金額,
cast(cast(ml/sshje as numeric(4,4))*100 as varchar(20)) + '%' as 利潤率
from chasalldayhz