我想建立一个sql查询,我的表单中的一个表单不应该包含通用名称(维护单独表中的单词列表),我传递的值作为参数归档,并希望检查它不应该包含该表中的任何通用名称。需要根据SQL查询中的表格行检查参数
我怎样才能实现使用SQL查询?
注意:如果通用名称是'abc',并且我将参数传递为'!abc123',因为它包含该单词查询应该返回false。
在此先感谢。
我想建立一个sql查询,我的表单中的一个表单不应该包含通用名称(维护单独表中的单词列表),我传递的值作为参数归档,并希望检查它不应该包含该表中的任何通用名称。需要根据SQL查询中的表格行检查参数
我怎样才能实现使用SQL查询?
注意:如果通用名称是'abc',并且我将参数传递为'!abc123',因为它包含该单词查询应该返回false。
在此先感谢。
试试这个:
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),因为你可能想扩展真正部分的功能。
尝试像(未经测试查询):
SELECT CommonName
FROM CommonNamesTable
WHERE CommonName like '%NameToTest%'
OR CONTAINS(NameToTest, CommonName);
基本上你需要的字符串匹配选项:
看看的CONTAINS选择和阅读有关Queries with full text search
这就是你正在找?
SELECT (COUNT(*) == 0) FROM tablewithcommonwords
WHERE wordfromform LIKE CONCAT('%', wordcolumnnfromcommonwordstable, '%');
if exists (select * from reservedwords where @parameter like '%'+word + '%')
select 0
else
select 1
我想建议你必须使用按键事件在你的文本框,然后处理你的代码后,每个人物在文本框中输入。
谢谢!解决方案:) –