SQL如何对声明的变量的每个值进行LIKE搜索

问题描述 投票:0回答:2

我有一个查询,我试图对声明的变量的每个值进行类似的搜索,而不是对整个字段值/字符串进行类似的搜索。

示例:

    DECLARE @name VARCHAR(30)
    SET @name = 'John Smith'
    SELECT name FROM customers WHERE name like '%'+ @name + '%'

我正在寻找的记录是“约翰和简·史密斯”。上面的查询没有返回结果。如果用户仅搜索“ John”或仅搜索“ Smith”,则返回的结果太多。我正在尝试让查询像下面的查询一样进行搜索:

    SELECT name from customers WHERE name LIKE '%John%  %Smith%'

任何帮助,将不胜感激!我搜索了许多选项,但不确定我的搜索词是否正确,我还没有找到解决方案。谢谢,

sql sql-server variables sql-like declare
2个回答
0
投票

您是否尝试过用@name替换'% %'中的空格?


0
投票

尝试这样的事情:从客户中选择名称,其中名称类似于“%John%Smith%”要么从客户中选择名称,其中名称类似于“%John%”并命名为LIKE'%Smith%''

© www.soinside.com 2019 - 2024. All rights reserved.