You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助:修正SQL语句以筛选Sample列中仅含5个字符的数据

筛选Sample列值为5个字符行的正确SQL语句

你的原语句语法有误,LEFT()函数用法不对且缺少判断条件,要筛选Sample列值恰好是5个字符的行,用以下几种写法即可:

基础写法(适配单字节字符,如英文、数字)

SELECT * FROM dump WHERE LENGTH(Sample) = 5;

兼容多字节字符的写法(如中文、特殊符号)

如果Sample列可能包含多字节字符,用CHAR_LENGTH()更准确——它会把每个多字节字符算作1个长度:

SELECT * FROM dump WHERE CHAR_LENGTH(Sample) = 5;

额外处理:去除首尾空格后判断

如果担心数据里有隐藏的首尾空格导致长度判断不准,可以先做去空格处理:

SELECT * FROM dump WHERE CHAR_LENGTH(TRIM(Sample)) = 5;

原语句select * from dump where Sample left(5);的问题在于,LEFT(Sample, 5)是截取Sample列的前5个字符,但你没有把它和任何值做比较,数据库无法理解你的筛选逻辑,因此无法正常执行。我们需要的是判断列值的总长度等于5,所以要用长度函数配合等于条件来实现。

内容的提问来源于stack exchange,提问作者Akshay Chari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 17:05:59