powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбор слов без определённых букв
7 сообщений из 7, страница 1 из 1
Выбор слов без определённых букв
    #39010830
Добрый вечер.

Столкнулся с такой проблемой:
У меня есть таблица со словами - words, в которой есть столбец - word.

Всё просто. Мне необходимо выбирать слова, в которых нет определённых букв.
Например, выбрать все слова в которых нет - и, а, з, к, д.

Ладно если это была бы одна буква, но не LIKE-ом же?
NOT IN вроде как не подходит.

Подскажите, я в смятении.

Спасибо.
...
Рейтинг: 0 / 0
Выбор слов без определённых букв
    #39010850
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RLIKE
...
Рейтинг: 0 / 0
Выбор слов без определённых букв
    #39010851
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) RLIKE
2) сфинксы всякие
3) на лету разбиваем строку на символы и проверяем отсутствие в полученном множестве исключаемых символов
...
Рейтинг: 0 / 0
Выбор слов без определённых букв
    #39010852
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ещё и 4-й вариант. Самый быстрый. Мгновенный. По любому набору букв.
...
Рейтинг: 0 / 0
Выбор слов без определённых букв
    #39010875
Cyrax_02,

о, спасибо!
Я пропустил.

Регулярки это замечательно.
Пусть и медленнее будут работать(наверное), но это мелочи, у меня в этом проблем не будет.

Ещё раз спасибо.
...
Рейтинг: 0 / 0
Выбор слов без определённых букв
    #39010877
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и так:
Код: sql
1.
(INSTR(word, 'и') = 0) AND (INSTR(word, 'а') = 0) AND (INSTR(word, 'з') = 0) AND (INSTR(word, 'к') = 0) AND (INSTR(word, 'д') = 0)


А регулярками - так:
Код: sql
1.
word RLIKE '^[^иазкд]*$'

или так:
Код: sql
1.
word NOT RLIKE '[иазкд]'

(вариант с NOT RLIKE будет работать быстрее)
...
Рейтинг: 0 / 0
Выбор слов без определённых букв
    #39010878
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
(INSTR(word, 'и') = 0) AND (INSTR(word, 'а') = 0) AND (INSTR(word, 'з') = 0) AND (INSTR(word, 'к') = 0) AND (INSTR(word, 'д') = 0)

Эту конструкцию лучше построить так:
Код: sql
1.
NOT((INSTR(word, 'и') > 0) OR (INSTR(word, 'а') > 0) OR (INSTR(word, 'з') > 0) OR (INSTR(word, 'к') > 0) OR (INSTR(word, 'д') > 0))

Так будет работать гораздо быстрее...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбор слов без определённых букв
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]