SELECT * FROM table ORDER BY string_length(column);

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


当前回答

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

SELECT * FROM table ORDER BY length(column);

其他回答

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

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

我用这些句子进行筛选

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

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

SELECT * FROM table 
ORDER BY LENGTH(column);

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

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

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

SELECT * FROM table ORDER BY length(column);