提问人:petworthnick 提问时间:9/4/2022 最后编辑:petworthnick 更新时间:9/4/2022 访问量:433
使用存储过程搜索字符串
Use a stored procedure to search for a string
问:
如何将参数传递到存储过程中并使用它来搜索数据库?
我正在尝试在数据库中搜索包含搜索词的企业名称。
以下 SP 可用于返回所有结果:
BEGIN
SELECT company.businessname
FROM company;
END
返回此结果:
Better Cats Vetinary Practice
Appliance R'Us
The Beautiful Flower Company
Lovely Trips Away
但是,如果我使用像这样传入的“searchtext”参数,并且该参数被赋予“appliance”的值,它应该返回一个结果,但不返回任何内容:
BEGIN
SELECT company.businessname
FROM company
WHERE company.businessname LIKE searchtext;
END
如何让它返回企业名称中带有“appliance”的一个结果?
答:
0赞
petworthnick
9/4/2022
#1
解决这个问题的方法似乎是将命名参数包括 %...例如 searchtext = %appliance%,则 SP 变为:
SELECT company.businessname
FROM company
WHERE company.businessname like searchtext;
然后它返回结果 expect.ed
评论
0赞
Solarflare
9/4/2022
或者你按照 Bill 在评论中向你解释的去做,而不是组合字符串。concat()
+
评论
%
'%'+searchtext+'%'
+
lower(company.businessname)