具有反向名称的SQL Like查询返回结果

时间:2019-01-01 04:58:50

标签: php mysql laravel

这是我的sql表,

id |     name     | city
------------------------
1  |   John Due   | New york
2  |  Luke Wright | Kingston upon Hull

在我的搜索收件箱中,如果我搜索“在Kingston Hull上”,则返回第二行;或者,如果我搜索“ Due John”,则返回第一行。

那我该如何写类似查询? 并在Laravel Eloquent中编写查询

1 个答案:

答案 0 :(得分:3)

如果您对此需求有长期的需求,则可以考虑使用full text search。简而言之,MySQL提供了一个REGEXP运算符,它可以执行一些相当复杂的正则表达式搜索。要在nameDue的{​​{1}}列中搜索,我们可以尝试:

John

要搜索SELECT id, name, city FROM yourTable WHERE name REGEXP '[[:<:]]John[[:>:]]' AND name REGEXP '[[:<:]]Due[[:>:]]'; Due,则可以使用以下替代形式:

John