Адреса электронной почты, которые не отображаются в запросе при использовании LIKE '_ @ _%' - POSTGRE SQL - PullRequest
0 голосов
/ 18 января 2019

Я очищаю некоторые пользовательские данные и пытаюсь найти любые электронные письма, которые были введены в колонку «Имя». В идеале я бы запустил простую функцию, и появилось бы любое поле с "@".

Код, который я использую для поиска писем:

SELECT * FROM "Import File"
WHERE "First Name" LIKE '_@_%';

Я получил 0 результатов, поэтому я попытался

WHERE "First Name" LIKE '_@_%'
OR "First Name" LIKE '__@_%' 
OR "First Name" LIKE '___@_%'

и пр.

Проблема в том, что я получаю разное количество результатов для каждого ИЛИ КАК ПОЛЬЗОВАТЬСЯ, и каждый раз вводить его будет утомительно. Есть ли более быстрая функция для этого? (кроме копирования)

1 Ответ

0 голосов
/ 18 января 2019

В операциях LIKE символ подчеркивания (_) является односимвольным подстановочным знаком, тогда как символ процента (%) является многосимвольным подстановочным знаком.

Итак, чтобы определить, есть ли у столбца символ at, вы можете просто использовать эту логику:

WHERE "First Name" LIKE '%@%'

... или ...

WHERE POSITION('@' IN "First Name") > 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...