MySQL-如何根据字符串长度选择数据

SELECT * FROM table ORDER BY string_length(column);

是否有一个 MySQL 函数来做这个(当然不是 string_length) ?

348551 次浏览

你正在寻找CHAR_LENGTH()来获取字符串中的字符数。

对于多字节字符集,LENGTH()将给出字符串占用的字节数,而CHAR_LENGTH()将返回字符数。

SELECT * FROM table
ORDER BY LENGTH(column);

有关LENGTH()函数以及所有其他字符串函数的文档可在在这里中找到。

看一下字符串函数的MySQL文档,我们也可以使用CHAR_LENGTH()CHARACTER_LENGTH()

我用来查找字符串长度的函数是length,使用如下:

SELECT * FROM table ORDER BY length(column);
select * from *tablename* where 1 having length(*fieldname*)=*fieldlength*

例如,如果您想从customer中选择名称短于2个字符的条目。

select * from customer where 1 **having length(name)<2**

我用这些句子进行筛选

SELECT table.field1, table.field2 FROM table WHERE length(field) > 10;

您可以将10更改为您想要过滤的其他数字。

在我的情况下,我得到的数据使用移动号码长度大于10位使用下面的查询

SELECT * FROM table_name WHERE CHAR_LENGTH(mobile) > 10;