当我运行以下查询时,我收到错误“无法将 VARCHAR 转换为 FLOAT”。问题是我团队中的其他人不久前设计了数据库并将毫秒作为 varchar 和 sSometime 值不存在,所以他改为使用“NA”。
现在,当我将毫秒值转换为 AVE() 时,无法转换“NA”。有没有办法为“NA”定义默认值,例如:
IF a.Milliseconds == "NA"
0
ELSE
CAST(a.Milliseconds AS FLOAT)
SELECT
b.Date,
AVG(CAST(a.Milliseconds AS FLOAT)) AS Milliseconds,
FROM Fields a
INNER JOIN Cycles b
ON a.CyclesId = b.Id
GROUP BY b.Date
Sample Data
CyclesId | Milliseconds
1 | 24.1557
2 | 23.4886
3 | NA