【问题标题】:SQL Like questionSQL Like 问题
【发布时间】:2010-04-20 02:08:36
【问题描述】:

有没有办法反转 SQL Like 运算符,以便向后搜索字段?例如,我在一个看起来像“Xbox 360 Video Game”的字段中有一个值。如果我编写如下查询,它会很好地返回结果。

SELECT id FROM table WHERE title like "%Xbox%Game%"

但是,当我这样搜索时,它没有找到任何结果。

SELECT id FROM table WHERE title like "%Video%Xbox%"

我需要它匹配任何方向。我该如何解决这个问题?

【问题讨论】:

    标签: sql mysql sql-like


    【解决方案1】:

    怎么样:

    SELECT id FROM table WHERE title like "%Video%" and title like "%Xbox%"

    【讨论】:

    • 这不好用,因为用户正在执行搜索,我不知道他们输入了多少关键字。
    • @mike:你不能用任意数量的条件构建一个查询吗?它应该与构建模式匹配字符串没有什么不同
    【解决方案2】:

    另一种选择

    SELECT id FROM table WHERE title RLIKE "(Xbox|Video)"
    

    【讨论】:

    • 这非常有效。我以前从未使用过rlike。我将不得不阅读它的性能如何,但它确实有效!谢谢!
    • 这将匹配标题与任一术语,这可能不是你想要的,例如如果用户输入“Playstation Game”,它仍然会返回“Xbox 360 Video Game”
    猜你喜欢
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多