用case语句创建一个自定义函数或存储过程,根据性别返回student表中学生的数目作为结果,结果少于10人,显示如下图,10人及以上显示如:“女:23,人数超过10人”,无结果显示“此表为空”
时间: 2024-04-01 09:33:00 浏览: 24
好的,我可以帮您解决这个问题。以下是使用 SQL Server 的 T-SQL 语言编写的示例存储过程:
```
CREATE PROCEDURE CountStudentsByGender
@gender char(1)
AS
BEGIN
-- 查询学生表中符合条件的记录数
DECLARE @count int
SELECT @count = COUNT(*) FROM student WHERE gender = @gender
-- 根据记录数返回结果
SELECT
CASE
WHEN @count < 10 THEN '此表为空'
WHEN @count >= 10 THEN CONCAT(
CASE @gender
WHEN 'M' THEN '男'
WHEN 'F' THEN '女'
END,
':',
CAST(@count AS varchar(10)),
',人数超过10人'
)
END AS result
END
```
这个存储过程接受一个名为 @gender 的参数,类型为 char(1),表示要查询的性别。在存储过程中,首先使用 COUNT 函数查询学生表中符合条件的记录数,然后根据记录数使用 CASE 语句返回不同的结果。如果记录数小于 10,则返回“此表为空”的提示;如果记录数大于等于 10,则返回“性别:人数,人数超过10人”的提示。
您可以根据实际情况进行调整和修改。希望对您有帮助!
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)