MySQL 使用CASE WHEN生成价格分类列时报#1064语法错误如何解决
MySQL 1064语法错误修正
- 触发报错的核心原因:SELECT 查询列表中,
product_price字段与后接的CASE计算列表达式之间,遗漏了必需的英文逗号分隔符 - 报错匹配逻辑:MySQL 语法解析器读到
product_price后的内容时,没有识别到作为并列列分隔的逗号,直接将后续的CASE关键字判定为非法语法边界,因此报错提示锚点正好指向CASE语句起始位置
修正后的可正常执行SQL
SELECT product_name, product_description, product_price, CASE WHEN product_price > 10000 THEN 'Expensive' WHEN product_price < 100 THEN 'Cheap' ELSE 'Medium' END AS cost FROM products;
业务适配提示:如果需要列名匹配“价格分类”的语义要求,可以将
END AS cost调整为END AS price_category,更贴合原需求的字段命名预期
内容的提问来源于stack exchange,提问作者Human Code
相关产品推荐
相关产品推荐

