|
|
|
| Подскажите в чём ошибка:
надо из таблицы TABLE выбрать все строки у кот пароль содержит не более 10 символов.
SELECT * FROM `TABLE ` WHERE length('pwd')<=10
|
| |
|
|
|
|
|
|
|
для: lilu
(23.07.2008 в 16:29)
| | Ошибка в кавычках. length('pwd') всегда равно трём.
SELECT * FROM `TABLE` WHERE length(`pwd`)<=10
|
PS. Интересно, что за пользователей Вы отделяете в результате?
PPS. И таки BinLaden прав. Пробел в имени таблицы явно лишний. | |
|
|
|
|
|
|
|
для: Trianon
(23.07.2008 в 16:49)
| | Кажется функция length() сюда не подходит вовсе. Т.к. pwd это название поля в таблице в кот. хранятся пароли а не сам пароль - а как же тогда....
Этот пример я привела для наглядности - проблемы убрать пробел нет... Проблема в том, какую функцию применить, кот будет содержать кол-во символов в поле pwd | |
|
|
|
|
|
|
|
для: lilu
(23.07.2008 в 16:55)
| | > length('pwd')
> length(`pwd`)
Сравните. | |
|
|
|
|
|
|
|
для: BinLaden
(23.07.2008 в 17:07)
| | Я всё понимаю, но если length('pwd') всегда равно трём - то мне эта функция не подходит - и пробел тут ни при чём, правильно?
Хорошо, можно ли добиться результата без функции length | |
|
|
|
|
|
|
|
для: lilu
(23.07.2008 в 17:12)
| | Проблема в том, что Вы название pwd окружили апострофами. А надо было - обратными косыми кавычками. А функция вполне себе нормальная.
Просто pwd -или `pwd` в обратных косых кавычках - это название таблицы.
А 'pwd' в апострофах - это обычный текст
|
| |
|
|
|
|
|
|
|
для: lilu
(23.07.2008 в 17:12)
| | Нет, Вы просто неудачно выбрали ограничители - нужно не ' (апостроф), а ` (обратная косая черта). | |
|
|
|
|
|
|
|
для: BinLaden
(23.07.2008 в 17:18)
| | действильно - а казалось бы :))) спасибо
Попутно возник ещё вопрос - а каким sql запросом можно выбрать все пароли кот состоят только из цифр | |
|
|
|
|
|
|
|
для: lilu
(23.07.2008 в 17:52)
| |
SELECT * FROM `TABLE` WHERE `pwd` REGEXP '^[0-9]+$';
|
| |
|
|
|
|
|
|
|
для: lilu
(23.07.2008 в 16:29)
| | У Вас реально таблица имеет имя с пробелом на конце? | |
|
|
|