Поиск строки в ANSI SQL - PullRequest
       8

Поиск строки в ANSI SQL

0 голосов
/ 28 ноября 2018

Я использую Netezza.

В одном из моих столбцов (КОММЕНТАРИИ) в моей таблице (ТАБЛИЦА 1) есть текст.Столбец КОММЕНТАРИИ - это текстовый столбец, в котором может быть любой текст.Вот несколько примеров того, как выглядит текст:

OLD STUDENT:N(Y/N/U=UNKNOWN) Some other text could be here
Some other text could be here  OLD STUDENT:Y(Y/N/U=UNKNOWN)
OLD STUDENT:Y(Y/N/U=UNKNOWN) Some other text could be here

Примечание : некоторые записи имеют "" между СТАРЫМ СТУДЕНТОМ: и Y

Я хочу фильтровать записина основе текстового поиска.Идея состоит в том, чтобы изолировать записи с текстом «STUDENT: Y»

Вот что у меня есть, но я не работаю:

SELECT COMMENTS
FROM
 TABLE1
WHERE
 LOWER(COMMENTS) LIKE '%student%'   
 AND LOWER(COMMENTS) NOT LIKE '%student:n%'

Как мне справиться с этим?

Спасибо за ваше время.

1 Ответ

0 голосов
/ 28 ноября 2018

Несмотря на то, что есть действительные записи, WHERE LOWER (КОММЕНТАРИИ) НРАВИТСЯ '% student: y%, где не возвращаются никакие результаты.Некоторые текстовые поля имеют странные символы между student: и y

Добавление еще одного подстановочного знака "_" решило проблему.

SELECT COMMENTS
FROM
 TABLE1
WHERE
 LOWER(COMMENTS) LIKE '%student%'   
 AND LOWER(COMMENTS) NOT LIKE '%student:_n%'
...