Как написать SQL запрос с помощью регулярного выражения для поиска строк содержащих перед символом @ 4 цифры?
я использую MSSQL и пытаюсь найти все строки в которых есть 4 цифры перед символом @ в MSSQl Мой запрос выглядит следующим образом
SELECT * FROM Contact WHERE Email LIKE '%\d{4}@%' ESCAPE '\'
Он отлично отрабатывает в конструкторах regexp и в коде Js, но в SQL он не отдает ничего
Вот строка , которую я пытаюсь найти [email protected]
Да можно воспользоваться
SELECT * FROM Contact WHERE Email LIKE '%[0-9][0-9][0-9][0-9]@%' ESCAPE '\'
но это я бы хотел понять, как исправить мое регулярное выражение
Ответы (1 шт):
Автор решения: Andrew Nikolaev
→ Ссылка
Проверил на MS SQL, так работает
SELECT * FROM
(
SELECT * FROM
(
VALUES
(1, '[email protected]'),
(2, '[email protected]'),
(3, '@ya.ru'),
(4, 'asdasd'),
(5, '[email protected]'),
(6, '[email protected]'),
(7, '[email protected]'),
(8, '[email protected]'),
(9, '[email protected]'),
(10, 'a.bakerd1234ac.com')
) AS emails(id, email)
) SQ
WHERE SQ.email LIKE ('%[0-9][0-9][0-9][0-9]%@%')