用于检查文本中某些单词的SQL查询

时间:2011-02-14 07:18:24

标签: sql sql-server sql-server-2008

我有一种情况需要检查在文本框中输入的某些单词。我有一个由一系列单词组成的表。我需要一个sql查询,它将检查该表中存在的任何单词的文本,并相应地返回true / false(或0/1)。数据库是MS-SQL 2008,代码是C#

如果有人能帮我解决这个问题,那会很棒。

提前致谢

2 个答案:

答案 0 :(得分:1)

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 + '%'

答案 1 :(得分:0)

如果您按空格拆分文本框值,请将它们传递到查询的IN()部分

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

请记住清理文本框值以防止SQL注入,或者更好的是,使用预准备语句。