【问题标题】:Rails + PostgreSQL -Using LikeRails + PostgreSQL - 使用 Like
【发布时间】:2010-11-23 17:13:00
【问题描述】:

我有以下两个查询:

SELECT users.* FROM "users" WHERE (fname || lname LIKE '%james%')

SELECT users.* FROM "users" WHERE (fname || lname LIKE '%James%')

我在用户表中有一条记录,fname = James

我遇到的问题是第一个查询返回 0 个结果,第二个返回正确的结果。

我希望 LIKE 不区分大小写。想法?谢谢

【问题讨论】:

    标签: ruby-on-rails postgresql


    【解决方案1】:

    SELECT users.* FROM "users" WHERE (fname || lname ILIKE '%james%')

    ILIKE = 不区分大小写的 LIKE。请注意,这是特定于 PostgreSQL,而不是 SQL 标准。

    【讨论】:

    • 谢谢大家。我给了这个答案,因为它有解释。
    【解决方案2】:

    尝试使用

      SELECT users.* FROM "users" WHERE (fname || lname ILIKE '%james%')
    

    注意 LIKE 中的“我”

    【讨论】:

      【解决方案3】:

      带有“LIKE”或“ILIKE”的查询非常慢,尤其是对于有很多条目的表。如果你使用PostgreSQL的全文搜索能力,我认为会更快。

      PostgreSQL textsearch docs

      【讨论】:

        猜你喜欢
        • 2018-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-20
        • 2011-06-28
        • 1970-01-01
        • 2018-10-16
        • 2017-03-14
        相关资源
        最近更新 更多