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

245
SELECT * FROM table ORDER BY string_length(column);

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

Теги:
select
string-length

5 ответов

403
Лучший ответ

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

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

  • 137
    На самом деле, CHAR_LENGTH () должен быть лучшим выбором. Для многобайтовых кодировок LENGTH () даст вам количество байтов, которое занимает строка, а CHAR_LENGTH () вернет количество символов.
  • 4
    выберите ДЛИНА ('Ö'); результаты 2 !! Ответ Андраса Шепешази правильный!
Показать ещё 2 комментария
66
select * from table order by length(column);

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

26

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

0

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

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

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

0

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

SELECT * FROM table ORDER BY length(column);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню