USE [YunNanHuanWei]
GO
/****** Object: StoredProcedure [dbo].[UserAge] Script Date: 05/23/2018 13:24:43 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[UserAge]
(
--多个年龄段,18-30,30-40,40-50,50-60
@agestr nvarchar(500),
@departid nvarchar(50),
@cusid nvarchar(50)
)
as
begin
declare @s nvarchar(50)
CREATE TABLE #tt(
[Number] int NOT NULL,
[Age] [nvarchar](200) NOT NULL,
)
while(charindex(',',@agestr)<>0)
begin
--第一个','之前的字符串
select @s=substring(@agestr,1,charindex(',',@agestr)-1)
--判断部门是否为空
if(@departid!='')
begin
insert into #tt select COUNT(*) as Number,@s+'岁' as Age from VDepartAdmin where year(getdate())-year(birthdate)
>= substring(@s,1,charindex('-',@agestr)-1) and year(getdate())-year(birthdate) < substring(@s,charindex('-',@agestr)+1,2) and DepartRela
统计年龄段的人数(存储过程)
最新推荐文章于 2022-09-28 17:47:52 发布
该博客介绍了一个SQL存储过程[UserAge],用于统计指定年龄段和部门ID的用户人数。过程接受年龄范围字符串、部门ID和客户ID作为参数,通过循环处理年龄范围并查询VDepartAdmin视图,计算每个年龄段的用户数量,并输出结果。
摘要由CSDN通过智能技术生成