Несколько NOT LIKE средствами REGEXP

235
20 ноября 2017, 18:11

Нужно отфильтровать email адреса

Можно сделать типа такого:

SELECT * 
FROM messages
WHERE 
  email NOT LIKE '%@ya.ru'
  AND email NOT LIKE '%@google.com'
  AND email NOT LIKE '%@yahoo.com'

Вопрос - можно ли такое реализовать с помощью одного REGEXP (NOT REGEXP) и если можно, то стоит ли?

Answer 1

попробуйте так:

SELECT * 
FROM messages
WHERE 
  email NOT REGEXP '@(ya\.ru|google\.com|yahoo\.com)$';

Тест на SQL Fiddle

По поводу "стоит ли?" - надо сравнивать производительность на ваших данных

READ ALSO
Тестирование default метода интерфейса

Тестирование default метода интерфейса

Подскажите пожалуйста, как можно красиво протестить дефолтный метод чтоб было как меньше дулирования кода, при вот таких условиях:

256
Скачивание из Dropbox API v2 Java SDK

Скачивание из Dropbox API v2 Java SDK

Кто-нибудь может объяснить как скачать текстовый файл из Dropbox API v2В интернете в основном на устаревшую версию Dropbox API v1

231