在我的代码中,我理解查询获取空值并抛出此错误。但是由于我的查询有点复杂,我不明白如何检查空值并避免此错误。请帮助我更正此查询。
SELECT (SUM(charges) + SUM(behaviour) + SUM(admission) + SUM(properInformation) + SUM(hygine) + SUM(treatment))/(count(doctorID) * 6) AverageRating, COUNT(ID) RatingCount from ratings where doctorID = '" + doctorID + "'
最佳答案
如果您希望查询不返回NULL
,您可以用IFNULL
包围表达式,将可能的NULL 转换为0,例如;
SELECT IFNULL((SUM(charges) + SUM(behaviour) + SUM(admission) +
SUM(properInformation) + SUM(hygine) + SUM(treatment))
/(count(doctorID) * 6), 0) AverageRating,
COUNT(ID) RatingCount
FROM ratings
WHERE doctorID = '" + doctorID + "'
关于mysql - 从类型 'DBNull' 到类型 'Double' 的转换无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36092606/