MySQL如何按降序查询输出列前3字符并解决语法报错问题
SQL语法错误修正
你写的查询语句共有2处语法问题:
SUBSTRING函数参数之间缺少英文逗号分隔:正确的函数调用格式为SUBSTRING(待截取字符串, 起始位置, 截取长度),你的代码中CustomerName和起始位置参数1之间没有加逗号,不符合函数语法要求。ORDER BY子句未指定排序字段:DESC是降序排序的修饰符,必须搭配具体的排序字段/表达式使用,不能直接单独跟在ORDER BY后面。
修正后可正常运行的语句:
SELECT SUBSTRING(CustomerName, 1, 3) AS CUSTOMER_NAME FROM customer ORDER BY CUSTOMER_NAME DESC;
可选简化写法:如果只需要截取字段开头的指定长度字符,也可以用LEFT()函数替代SUBSTRING(),写法更简洁,执行效果完全相同:
SELECT LEFT(CustomerName, 3) AS CUSTOMER_NAME FROM customer ORDER BY CUSTOMER_NAME DESC;
内容的提问来源于stack exchange,提问作者cybernerd
相关产品推荐
相关产品推荐

