2012-09-18 114 views
3

我想建立一个sql查询,我的表单中的一个表单不应该包含通用名称(维护单独表中的单词列表),我传递的值作为参数归档,并希望检查它不应该包含该表中的任何通用名称。需要根据SQL查询中的表格行检查参数

我怎样才能实现使用SQL查询?

注意:如果通用名称是'abc',并且我将参数传递为'!abc123',因为它包含该单词查询应该返回false。

在此先感谢。

回答

0

试试这个:

IF NOT EXISTS(SELECT word FROM CommonWord WHERE @yourparam 
       LIKE '%' + word + '%') 
    BEGIN 
     RETURN 1 
    END 
    ELSE 
    BEGIN 
     Return 0 
    END 

如果@yourParam包含在任何单词或名称,你不希望使用什么工作的。它只返回1,如果它不包含在表中的任何一行。

我只是在这种方式下运行这个语句(你可以使用简单的Exists而不是NOT Exists),因为你可能想扩展真正部分的功能。

+0

谢谢!解决方案:) –

3

尝试像(未经测试查询):

SELECT CommonName 
FROM CommonNamesTable 
WHERE CommonName like '%NameToTest%' 
OR CONTAINS(NameToTest, CommonName); 

基本上你需要的字符串匹配选项:

看看的CONTAINS选择和阅读有关Queries with full text search

2

这就是你正在找?

SELECT (COUNT(*) == 0) FROM tablewithcommonwords 
WHERE wordfromform LIKE CONCAT('%', wordcolumnnfromcommonwordstable, '%'); 
0
if exists (select * from reservedwords where @parameter like '%'+word + '%') 
    select 0 
else 
    select 1 
0

我想建议你必须使用按键事件在你的文本框,然后处理你的代码后,每个人物在文本框中输入。