gpt4 book ai didi

sql - 在 Rails 和 Postgresql 中查找带空格和不带空格的单词

转载 作者:太空宇宙 更新时间:2023-11-03 16:21:42 24 4
gpt4 key购买 nike

我正在尝试找出可以在 Ruby on Rails 中使用的语句,该语句执行 SQL 查询以匹配可能有或可能没有任何空格的词与也可能有或可能没有任何空格的相似词。例如:

Matthew Jones or MatthewJones

应该匹配

Matthew Jones or MatthewJones

最佳答案

您可以使用 postgres 执行此操作 REPLACE功能:

SELECT * FROM mytable 
WHERE REPLACE(username, ' ', '') = REPLACE("Matthew Jones", ' ', '')

它将同时匹配 MatthewJonesMatthew Jones

你可以在 ActiveRecord 查询中写这样的东西:

MyTable.where("REPLACE(username, ' ', '') = REPLACE('John Bob Jones', ' ', '')")

更新:

您可以使用 ILIKE 使查询不区分大小写:

User.where("REPLACE(username, ' ', '') ILIKE REPLACE(?, ' ', '')", "John Bob Jones")

关于sql - 在 Rails 和 Postgresql 中查找带空格和不带空格的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32302445/

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