需要根据SQL查询中的表行检查参数
我想构建一个sql查询,其中一个表单字段不应该包含公共名称(在单独的表中维护单词列表),我正在将该字段的值作为参数传递,并希望检查它不应该包含该表中的任何公共名称 如何使用sql查询实现这一点 注意:如果通用名称为“abc”,而我将参数传递为“!abc123'因为它包含单词query,所以应该返回false 提前感谢。尝试类似(未测试的查询): 基本上,您需要字符串匹配选项:需要根据SQL查询中的表行检查参数,sql,sql-server-2008-r2,Sql,Sql Server 2008 R2,我想构建一个sql查询,其中一个表单字段不应该包含公共名称(在单独的表中维护单词列表),我正在将该字段的值作为参数传递,并希望检查它不应该包含该表中的任何公共名称 如何使用sql查询实现这一点 注意:如果通用名称为“abc”,而我将参数传递为“!abc123'因为它包含单词query,所以应该返回false 提前感谢。尝试类似(未测试的查询): 基本上,您需要字符串匹配选项: 查看选项并阅读相关内容这就是您要寻找的吗 SELECT (COUNT(*) == 0) FROM tablewithco
查看选项并阅读相关内容这就是您要寻找的吗
SELECT (COUNT(*) == 0) FROM tablewithcommonwords
WHERE wordfromform LIKE CONCAT('%', wordcolumnnfromcommonwordstable, '%');
试试这个:
IF NOT EXISTS(SELECT word FROM CommonWord WHERE @yourparam
LIKE '%' + word + '%')
BEGIN
RETURN 1
END
ELSE
BEGIN
Return 0
END
如果@yourParam
包含在您不想使用的任何单词或名称中,则此操作有效。如果表中的任何行都不包含它,则它仅返回1
我只是这样写这句话(你可以用一个简单的Exists而不是notexists),因为你可能想扩展真正部分的功能 我建议您必须在文本框中使用按键事件,然后在文本框中输入每个字符后处理代码
IF NOT EXISTS(SELECT word FROM CommonWord WHERE @yourparam
LIKE '%' + word + '%')
BEGIN
RETURN 1
END
ELSE
BEGIN
Return 0
END
if exists (select * from reservedwords where @parameter like '%'+word + '%')
select 0
else
select 1