Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сделать запрос по маске сразу для нескольких переменных? / 4 сообщений из 4, страница 1 из 1
27.11.2018, 17:21
    #39739283
Vbifyz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запрос по маске сразу для нескольких переменных?
Здравствуйте.
Подскажите, пожалуйста, какая команда нужна для того, чтобы выбрать из таблицы сразу несколько переменных по маске.

То есть, например, есть части е-майлов, где после собаки стоит: Пусть будет @111.ru, @222.com, @333.com и так далее.

Чтобы найти поодиночке нужна команда:
SELECT * FROM `tbl_user` WHERE `username` LIKE '%@111.ru%'

Подскажите, какая команда нужна, чтобы за один запрос найти е-майлы по всем частям (@111.ru, @222.com, @333.com) ?
...
Рейтинг: 0 / 0
27.11.2018, 18:00
    #39739314
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запрос по маске сразу для нескольких переменных?
Три отдельных оператора LIKE, объединённые оператором OR. Можно, конечно, сделать и так:
Код: sql
1.
WHERE SUBSTRING_INDEX(username, '@', -1) IN ('111.ru', '222.com', '333.com')

но это гарантированный фуллскан, тогда как с лайками (кстати, а нахрена там знак процента на заднице?) можно и повертеться в направлении вычисляемых полей...
...
Рейтинг: 0 / 0
27.11.2018, 18:22
    #39739335
Karbafos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запрос по маске сразу для нескольких переменных?
AkinaТри отдельных оператора LIKE, объединённые оператором OR. Можно, конечно, сделать и так:
Код: sql
1.
WHERE SUBSTRING_INDEX(username, '@', -1) IN ('111.ru', '222.com', '333.com')

но это гарантированный фуллскан, тогда как с лайками (кстати, а нахрена там знак процента на заднице?) можно и повертеться в направлении вычисляемых полей...

с индексированной виртуальной колонкой по SUBSTRING_INDEX фуллскана скорее всего не будет, но применимо только к 5.7 и выше
...
Рейтинг: 0 / 0
27.11.2018, 19:49
    #39739367
Vbifyz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать запрос по маске сразу для нескольких переменных?
Спасибо. Помогло.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сделать запрос по маске сразу для нескольких переменных? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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