2011-02-14 4 views
1

텍스트 상자에 입력 된 특정 단어를 확인해야하는 경우가 있습니다. 나는 단어 목록으로 구성된 테이블을 가지고있다. 이 테이블에있는 단어 중 텍스트가 있는지 확인하고 이에 따라 true/false (또는 0/1)를 반환하는 sql 쿼리가 필요합니다. DB는 MS-SQL 2008이고 코드는 C#텍스트의 특정 단어를 검사하는 SQL 쿼리

누구든지이 쿼리를 도와 주면 좋을 것입니다. 사전에

감사

당신이 공백으로 텍스트 상자의 값을 분할하는 경우
+2

어떤 RDBMS를 사용하고 있습니까? 그리고 스크립팅 언어는 무엇입니까? –

답변

0

, 다음

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

는 SQL 주입을 방지하기 위해 텍스트 상자의 값을 소독하는 것을 잊지 마십시오, 또는 더 나은 쿼리의 IN() 부분으로 전달할 그러나 준비된 진술을 사용하십시오.

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 + '%' 
관련 문제