我有一个查询,我试图对声明的变量的每个值进行类似的搜索,而不是对整个字段值/字符串进行类似的搜索。
示例:
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%'
任何帮助,将不胜感激!我搜索了许多选项,但不确定我的搜索词是否正确,我还没有找到解决方案。谢谢,
您是否尝试过用@name
替换'% %'
中的空格?
尝试这样的事情:从客户中选择名称,其中名称类似于“%John%Smith%”要么从客户中选择名称,其中名称类似于“%John%”并命名为LIKE'%Smith%''