【发布时间】:2022-12-15 03:38:26
【问题描述】:
我有两列first_name 和last_name。
要根据传递的搜索文本搜索行,我使用 iLik 查询。
SELECT * FROM t1 WHERE t.first_name ILIKE %John% or t.last_name ILIKE %John%;
以上作品。
但我想在名字和姓氏上搜索全名。它不返回该行。
SELECT * FROM t1 WHERE t.first_name ILIKE %John Doe% or t.last_name ILIKE %John Doe%;
以上为空结果。
我怎样才能使它在与搜索文本的子部分匹配的两个列上进行搜索?
【问题讨论】:
-
你为什么使用 ILIKE?而不是 first_name = 'John'?
-
@S-Man 搜索文本将被传递给查询 它可能是
John或Doe,甚至可能是Joh,在这种情况下应该返回匹配的记录。所以问题是,如果John Doe被传递,则没有任何返回。
标签: sql postgresql