首页 > 数据库 >T-SQL——关于求百分比(以及其他语言转百分比)

T-SQL——关于求百分比(以及其他语言转百分比)

时间:2024-04-16 17:35:44浏览次数:36  
标签:百分比 string temp percent ToString SQL SELECT 语言

目录

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%

标签:百分比,string,temp,percent,ToString,SQL,SELECT,语言
From: https://www.cnblogs.com/shanzhiming/p/18138758

相关文章

  • mysql sql优化
    1select*杜绝使用不会走索引增加资源消耗2小表驱动大表大表不仅仅是现在大更可能是以后大的表一直新增数据的表3提升groupby效率给groupby字段设置索引4一行一行的插入改为批量插入5大数据表查询时使用limit限制数据的条数深翻页优化1》使用自增id2......
  • go语言使用go-elasticsearch/v8如何操作es8.x版本实现索引的增删查改
    import("context""encoding/json""fmt""github.com/elastic/go-elasticsearch/v8""github.com/elastic/go-elasticsearch/v8/esapi""github.com/elastic/go-elasticsearch/v8/esutil&......
  • mysql Explan命令 如何分析语句
    MySQL中的EXPLAIN命令是一种用于分析查询语句执行计划的强大工具,它可以帮助您了解MySQL优化器如何处理SQL查询,揭示查询执行过程中的关键细节,如表的读取顺序、数据读取操作的操作类型、所使用的索引等。通过EXPLAIN分析查询语句,您可以找出潜在的性能瓶颈,进行针对性的......
  • Mysql:canal 客户端 client java包依赖 v1.1.5+
     Cao!<dependencies><dependency><groupId>com.alibaba.otter</groupId><artifactId>canal.client</artifactId><version>1.1.7</version></dependency><dependency>......
  • CentOS 7.9 python 虚拟环境安装mysqlclient失败
    目录环境懵懂安装报错原因解决完结撒花......
  • c# sqlserver向存储过程传入xml数据
    c#代码:点击查看代码varxmlData=newXDocument(newXElement("Data",query.weldPlanList.Select(r=>newXElement("Row",newXAttribute("APSFactoryID",query.APSFactoryID),......
  • 结对编程 c++语言实现四则运算练习题
    结对同学:2252813程序要求:两个运算符,100以内的数字,不需要写答案。需要检查答案是否正确,并且保证答案在0-100之间通过阅读题目要求,我们决定使用c++语言完成编程,需要满足两个功能,首先生成一个包含两个运算符的算式,参与运算的数字在100之内。下一步检查答案是否正确,并且保证答......
  • MySQL之磁盘I/O过高排查
    导读有个MySQL服务器的磁盘I/O总有过高报警,怎么回事?有哪些原因MySQL服务器最近总是报告磁盘I/O非常高,出现这种问题,一般来说,磁盘I/O很高无非是下面几个原因引起:磁盘子系统设备性能差,或采用ext2/ext3之类文件系统,或采用cfq之类的ioscheduler,所以IOPS提上不去;SQL效率不高,......
  • mysql5.7 dump GTID一致性的问题
    利用mysqldump导出数据时提示warning,ApartialdumpfromaserverthathasGTIDsubt@ubt-All-Series:~$mysqldump-uroot-psdxdb>sdxdb.sqlWarning:ApartialdumpfromaserverthathasGTIDswillbydefaultincludetheGTIDsofalltransactions,eventhoseth......
  • 数据库的基本使用-mysql
    https://blog.csdn.net/weixin_50964512/article/details/1246452121.showdatabases;//显示当前已有的数据库2.createdatabasetest2;//创建新的数据库3.usetest1;//使用test1数据库,接下来的操作基于该数据库4.exit;//退出sql//数据表增删改查select*......