用case语句创建一个自定义函数,根据性别返回student表中学生的数目作为结果,结果少于10人,显示如下图,10人及以上显示如:“女:23,人数超过10人”,无结果显示“此表为空”
时间: 2024-04-01 15:32:58 浏览: 20
好的,这里提供使用 SQL Server 的 T-SQL 语言编写的示例自定义函数:
```
CREATE FUNCTION CountStudentsByGenderFunc (@gender char(1))
RETURNS varchar(50)
AS
BEGIN
DECLARE @count int
SELECT @count = COUNT(*) FROM student WHERE gender = @gender
RETURN
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
END
```
这个自定义函数接受一个名为 @gender 的参数,类型为 char(1),表示要查询的性别。在函数中,首先使用 COUNT 函数查询学生表中符合条件的记录数,然后根据记录数使用 CASE 语句返回不同的结果。如果记录数小于 10,则返回“此表为空”的提示;如果记录数大于等于 10,则返回“性别:人数,人数超过10人”的提示。
您可以根据实际情况进行调整和修改。调用该函数的方法是:
```
SELECT dbo.CountStudentsByGenderFunc('F') AS result
```
其中,dbo 表示函数所在的数据库架构,CountStudentsByGenderFunc 表示函数的名称,'F' 表示要查询的性别。调用后,将返回符合条件的学生数目或相应提示信息。
希望对您有帮助!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)