SQL-запрос для проверки определенных слов в тексте - PullRequest
1 голос
/ 14 февраля 2011

У меня есть ситуация, когда мне нужно проверить, какие слова вводятся в текстовое поле.У меня есть таблица, которая состоит из списка слов.Мне нужен SQL-запрос, который проверил бы текст на наличие любого из слов, присутствующих в этой таблице, и вернул бы меня true / false (или 0/1) соответственно.База данных MS-SQL 2008 и код на C #

Было бы здорово, если бы кто-нибудь мог помочь мне с этим запросом.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 26 февраля 2011
create table invalidwords(word varchar(10))

insert into invalidwords(word)
values ('ass'),('rascal'),('idiot')

declare @strg varchar(1000) = 'What an asshole'

select *
from invalidwords
where @strg like '%' + word + '%'
0 голосов
/ 14 февраля 2011

Если вы разделите значение текстового поля по пробелам, а затем передадите их в IN() часть запроса

SELECT EXISTS(
  SELECT 1
  FROM words
  WHERE Word in ('foo','bar')
) As Found

Не забудьте санировать значение текстового поля, чтобы предотвратить внедрение SQL, или, что еще лучше, используйте подготовленныйзаявления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...