MySQL – Как выбрать данные по длине строки
-
18-09-2019 - |
Вопрос
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