exe dbo.SearchAllTables' 12345678' - ?我们如何搜索多个文本?

时间:2015-04-26 09:21:10

标签: sql sql-server sql-server-2008 sqlite postgresql

exe dbo.SearchAllTables '12345678'

我需要一个查询来搜索多个项目;数据库中所有表中的12345678, 78945641, 14725836项。以上查询仅适用于单个文本搜索。

1 个答案:

答案 0 :(得分:0)

我认为您的存储过程中有一条线索,@Find输入如下:

SET @query = @query + 'WHERE [value] Like ''%' + @Find + '%'''
EXEC(@query)

现在您的输入就像这个@Find = '12345678, 78945641, 14725836',所以您应该将代码更改为:

如果您想找到确切的值:

SET @query = @query + 'WHERE [value] IN (''' + REPLACE(@Find, ',', ''',''') + ''')'
EXEC(@query)

如果要查找包含值:

SET @query = @query + 'WHERE [value] Like ''%' + REPLACE(@Find, ',', '%'' OR [value] Like ''%') + '%'''
EXEC(@query)