MySQL - Як вибрати дані за довжиною рядка


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

Чи є для цього функція MySQL (звичайно замість string_length)?

Відповіді:


491

Ви шукаєте, CHAR_LENGTH()щоб отримати кількість символів у рядку.

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


139
Насправді, CHAR_LENGTH () має бути кращим вибором. Для багатобайтових діаграм LENGTH () дасть вам кількість байтів, якими займає рядок, а CHAR_LENGTH () поверне кількість символів.
András Szepesházi

4
виберіть LENGTH ('Ö'); результати 2 !! Відповідь Андраша Шпепешазі правильна!
фубо

Правильно надсилати цілий параметр CHAR_LENGTH, оскільки якщо я поверну кількість символів? , por ejemplo CHAR_LENGTH(12)return2
DarkFenix

81
select * from table order by length(column);

Документація щодо функції length (), а також усіх інших рядкових функцій доступна тут .



3

Функція, яку я використовую для пошуку довжини рядка length, використовується наступним чином:

SELECT * FROM table ORDER BY length(column);

1

Я використовував це речення для фільтрації

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

ви можете змінити 10 на інший номер, який ви хочете відфільтрувати.


-2
select * from *tablename* where 1 having length(*fieldname*)=*fieldlength*

Приклад, якщо ви хочете вибрати серед клієнта запис із назвою, меншим за 2 знаки.

select * from customer where 1 **having length(name)<2**
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.