日期:2014-05-18  浏览次数:20623 次

列运算时对值的判断
在存储过程中:
我需要对查询出的字段后加一个比例字段,如下:
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 学生成绩表