Вопрос

SELECT * FROM table ORDER BY string_length(column);

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

Это было полезно?

Решение

Ты ищешь 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 table.field1, table.field2 FROM table WHERE length(field) > 10;

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top