MySQL - как выбрать данные по длине строки

SELECT * FROM table ORDER BY string_length(column);

Есть ли функция MySQL для этого (конечно, вместо string_length)?

Ответ 1

Вы ищете CHAR_LENGTH(), чтобы получить количество символов в строке.

Для многобайтовых кодировок LENGTH() даст вам количество байтов, которое занимает строка, а CHAR_LENGTH() вернет число символы.

Ответ 2

select * from table order by length(column);

Документация по функции length(), а также все другие строковые функции доступны здесь.

Ответ 3

Посмотрев документацию по MySQL для строковых функций, мы также можем использовать CHAR_LENGTH() и CHARACTER_LENGTH().

Ответ 4

Функция, которую я использую для поиска длины строки, length, используется следующим образом:

SELECT * FROM table ORDER BY length(column);

Ответ 5

Я использовал эти предложения для фильтрации

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

вы можете изменить 10 на другой номер, который вы хотите фильтровать.

Ответ 6

выберите * из имени таблицы, где 1 имеет длину (имя поля) = длина поля

Пример, если вы хотите выбрать из клиента записи с именем короче, чем 2 символа.

выберите * у клиента, где 1 имеет длину (имя) <2