SELECT * FROM table ORDER BY string_length(column);
Есть ли функция MySQL для этого (конечно, вместо string_length
)?
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 имеет длину (имя поля) = длина поля
Пример, если вы хотите выбрать из клиента записи с именем короче, чем 2 символа.
выберите * у клиента, где 1 имеет длину (имя) <2