列运算时对值的判断
在存储过程中:
我需要对查询出的字段后加一个比例字段,如下:
SELECT 姓名,语文,数学,总分,语文/总分 AS 语文比重,数学/总分 AS 数学比重
FROM 学生成绩表
以上会出现一个问题,当语文成绩为0分时就会出错(分子为0)。所以需要做一个判断语文是否为零,如果不是除出比重,否则比重为0
怎么写??
------解决方案--------------------分子为0,应该没有问题.你应该判断分母!=0的情况
SELECT 姓名,语文,数学,总分,
case when 总分=0 then 0 else 语文/总分 end AS 语文比重,
case when 总分=0 then 0 else 数学/总分 end AS 数学比重
FROM 学生成绩表