2012-01-19 2 views
1

Я пытаюсь запросить таблицу в mysql в зависимости от длины строки в определенном столбце. Я знаю, что mysql имеет функцию LENGTH(), но возвращает длину строки. Я хочу иметь возможность извлекать данные на основе результата функции LENGTH().mysql-запрос на основе длины строки в столбце

Пример:

SELECT * table WHERE LENGTH(word) = 6 

, конечно, что не работает. Я прочитал http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function%5Flength, но ничего не смог найти, чтобы помочь мне.

Да, я мог бы сделать что-то в PhP для этого, но я хотел бы сделать это на уровне запросов.

Любая помощь?

ответ

4

Try:

SELECT * 
    FROM table 
    WHERE LENGTH(RTRIM(word)) = 6 
+1

Я бы рекомендовал использовать функцию 'CHAR_LENGTH()' вместо 'LENGTH()', таким образом вы считаете символы вместо байтов. –

+0

работал отлично, ультимативно я делаю запрос, который будет вытаскивать результаты на основе «Длина строки», «Возможные символы», а не «Включать символы» словами. У меня есть первые 2 – user1130861

0

Я считаю, что вы хотите использовать запрос SELECT * FROM tableName WHERE LENGTH(word) = 6; (при условии, что word это имя столбца в tableName).

Это очень неудачное решение на больших столах, вы должны создать новую колонку и использовать UPDATE tableName SET wordLength = LENGTH(word).

Смежные вопросы