当前位置:首页 » 编程语言 » sql字符串百分比如何使用
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql字符串百分比如何使用

发布时间: 2023-03-15 13:05:09

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