我有一個簡單的一般在我SELECT
加權平均計算:當函數中涉及非數值時,sql返回空字符串?
SELECT ROUND(SUM((G.UnitsAcademic*GD.Grade))/SUM(G.UnitsAcademic),3) AS 'GWA'
FROM Gradesheet G
INNER JOIN GradeSheetDetail AS GD
ON GD.GradesheetId=G.GradesheetId
然而,有些學生非數字等級(如「不考試」)或空白等級。上面的代碼仍然計算並返回一個值。
我希望它在計算中涉及非數字值時返回空白(「」)。有沒有辦法讓SQL來做到這一點?
你正在使用什麼RDMS(MySQL,Postgres,Oracle ...)? – 2012-04-09 05:01:44
對不起,我忘了提及,MySQL 5.5 – 2012-04-09 05:03:50
所以,你有一個字符字段,你正在做'SUM'? – 2012-04-09 05:04:30