gpt4 book ai didi

ruby-on-rails - 当数据库上的 lower(field) 与 ruby​​ 中的 field.downcase 不同时,如何执行不区分大小写的搜索?

转载 作者:行者123 更新时间:2023-11-29 12:37:18 25 4
gpt4 key购买 nike

我有以下简单的事件记录查询来跨数据库搜索共享同一公司名称的其他人(不区分大小写)

简而言之:

company = "someTHING"
leads.where("lower(company) = ?", company.downcase)

无论公司名称大小写如何,效果都很好。

当一位用户为公司输入特殊字符时出现问题

回声

leads.where("company = ?", company) -> 2 results
leads.where("lower(company) = ?", company.downcase) -> 0 result

对于“à L'Express”,它在两种情况下都有效

这意味着数据库 lower("É") 不等于 É.downcase

>> company
=> "Échos"
>> company.downcase
=> "Échos"

如何执行不区分大小写的搜索并找到这种情况下的结果?

最佳答案

使用数据库:

where('lower(company) = lower(?)', company)

关于ruby-on-rails - 当数据库上的 lower(field) 与 ruby​​ 中的 field.downcase 不同时,如何执行不区分大小写的搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28300595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com