我正在尝试解决MySQL 数据库下的Blunder 挑战,但在我以为的正确答案中却出现了错误:
SELECT CEIL(AVG(Salary) - AVG(CAST(REPLACE(CAST(Salary AS VARCHAR(255)), '0', '') AS DECIMAL(14,2)))) AS avg_error FROM Employees;
简单来说,我尝试将 Salary(原本是数字类型)转换为 varchar,删除0
其中出现的任何 s,再将其转换回数字。然后,我计算了误差的平均值并取了最大值。但是,当我运行代码时,我收到以下错误消息:
`编译器消息
运行时错误
错误(stderr)
第 1 行出现错误 1064 (42000):您的 SQL 语法有误;请查阅与您的 MySQL 服务器版本相对应的手册,以了解在第 1 行“VARCHAR(255)), '0', '') AS DECIMAL(14,2)))) AS avg_error FROM Employees”附近使用的正确语法
您的输出(stdout)
~ 标准输出上没有响应 ~`
我不知道我哪里犯了错误。你能告诉我如何修复这个问题吗?还有其他解决方法吗?