Mysql 长度在一定范围内的SQL search varchar

Mysql 长度在一定范围内的SQL search varchar,mysql,sql,regex,Mysql,Sql,Regex,我想搜索名称是否具有特定的字符长度。创建一个搜索名称的查询,例如,在5到10个字符之间。我猜这可能与正则表达式有关,但我真的迷路了 我想要这样的东西 $qry = "SELECT * FROM members WHERE names characters > 5 AND names characters < 10" $qry=“从名称字符数>5且名称字符数5和CHAR_长度(名称)12(字节)和4(字符)。

我想搜索名称是否具有特定的字符长度。创建一个搜索名称的查询,例如,在5到10个字符之间。我猜这可能与正则表达式有关,但我真的迷路了

我想要这样的东西

$qry = "SELECT * FROM members WHERE names characters > 5 AND names characters < 10"
$qry=“从名称字符数>5且名称字符数<10的成员中选择*”

这是如何实现的?

如果您想具体查找
字符长度(以字符为单位测量的字符串长度),可以使用:

$qry = "SELECT * FROM members WHERE LENGTH(names) BETWEEN 5 AND 10"
$qry = "SELECT * FROM members WHERE CHAR_LENGTH(names) > 5 AND CHAR_LENGTH(names) < 10"
$qry=“从CHAR_长度(名称)>5和CHAR_长度(名称)<10的成员中选择*”

以下代码将对您有所帮助

SELECT members.*, 
LENGTH(names) AS ln 
FROM members 
HAVING ln 
BETWEEN 5 AND 10 ;

@Source,我能帮你进一步回答这个问题吗?为什么你需要在没有任何聚合的情况下进行聚合后过滤?我看不到任何“聚合”。但是,
WHERE
将取代
拥有
,除了需要拼写
长度(名称)
而不是使用别名(
ln
)。字符或长度之间有什么主要区别吗?@Source-是的,请参阅我的答案和链接below@Source-
选择长度('新浪新闻'), 字符长度('新浪新闻');-->12(字节)和4(字符)。