我们想根据搜索字符串从表中搜索记录。此搜索是存储过程的一部分。
以下是我们需要的: 1. 在表 ppl 中有列名称,其中包含名称格式的数据,说记录是 barack,oba bar,obama 和 barack,obama。
- 我们想根据搜索字符串选择记录。搜索字符串可以是姓名或姓氏。
我们想要基于搜索字符串的精确搜索。表示搜索字符串是否为 bar;它不应该返回 barack,obama 记录并且应该只返回 bar,obama。类似的精确搜索姓氏部分。
我们不知道搜索字符串是否有名字或姓氏。所以搜索字符串甚至可以是“oba” ..它应该只返回“barack,oba”记录。
遵循我们迄今为止尝试过的方法;但这些都不起作用:
- 从 ppl 中选择名称,其中名称如 'bar,%' 或名称如 '%,bar'; 这适用于姓名部分,但不适用于姓氏部分。
从 ppl 中选择名称,其中名称如 'oba,%' 或名称如 '%,oba'; 没有给出正确的结果。
从 ppl 中选择名称,其中名称 = ANY('%,oba',oba,%'); - 不工作
select name from ppl where regexp_like (name,'^,oba$') OR regexp_like (name,'oba$,^'); - 不工作
我请求你分享你在这种情况下的想法。