sql server的函数

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

猜你喜欢

转载自435727748.iteye.com/blog/2296913