我需要创建一个标量函数,给它一个表名和一个行id,并返回同一个表中给定行中空值的百分比,知道如何在sql server中这样做吗,
原因是向用户展示他们仍然需要插入的数据有多大。
例如:桌上学生
ID_STUDENT | FNAME | LNAME | AGE | CITY
1 | KHALID | SMITH | 25 |LA
2 | ADAM | NULL | NULL |NY
3 | SARA | KAMAL | 23 |Null
4 | Null | Null | Null |Null
SELECT NULL_CALC(STUDENT,ID_STUDENT,1) ===> 0%
SELECT NULL_CALC(STUDENT,ID_STUDENT,2) ===> 50%
SELECT NULL_CALC(STUDENT,ID_STUDENT,3) ===> 25%
SELECT NULL_CALC(STUDENT,ID_STUDENT,4) ===> 100%
谢谢大家
2条答案
按热度按时间ki0zmccv1#
用户定义函数中不能有动态sql。必须编写存储过程。下面的代码适用于任何表。但是,我建议您对以下程序进行适当的错误处理和其他操作。
数据设置
程序定义
过程调用
结果集
n6lpvg4x2#
你可以总结一下
CASE
此处的表达式用于查找百分比:演示