1、sql server中需要写sql语句来计算百分率:
先来个例子:
SELECT '专职男教师人数' as '类别',COUNT(*) as '数量' ,
ltrim(Convert(numeric(9,2),(SELECT COUNT(*)FROM PT_TEACHER WHERE PARTTIMEJOB='专职教师'AND GENDER='男')*100/(SELECT COUNT(*)FROM PT_TEACHER WHERE PARTTIMEJOB='专职教师') ))+'%'
as '比例' FROM PT_TEACHER a WHERE a.PARTTIMEJOB='专职教师' AND a.GENDER='男' ;
详解:ltrim(Convert(numeric(9,2),Result*100.0/tid))as "概率"
numeric(9,2),字段为字符型,长度为9,有2位小数。
2、DATEDIFF()函数
定义和用法:DATEDIFF() 函数返回两个日期之间的天数
语法: DATEDIFF(datepart,startdate,enddate),其中startdate,enddate是合法的日期表达式。
datepart的参考值:

实战演练:
1.根据日期精确求年龄大小:
FLOOR(datediff(DY,BIRTHDATE,getdate())/365.25)
注:DY为得到的天数,BIRTHDATE为表中日期列,getdate()为当前时间。除以365.25可以得到多少年。
FLOOR()为向下取舍为指定小数位。例如:floor(1.45,0)= 1;floor(1.55,0) = 1
其他函数:round() 遵循四舍五入把原值转化为指定小数位数,
如:round(1.45,0) = 1;round(1.55,0)=2
ceiling()向上舍入为指定小数位数 如:ceiling(1.45,0) = 2;ceiling(1.55,0)=2
本文介绍如何在SQLServer中使用SQL语句计算特定条件下的百分比,并提供了具体的示例代码。此外,还详细讲解了DATEDIFF()函数的应用场景,包括如何计算精确年龄。
2410

被折叠的 条评论
为什么被折叠?



