这可能是非常基本的,但我想不出如何编写一个 SQL 查询来查找具有相同字符但大小写不同的字符串。
我正在处理的上下文是 Rails 3.2 应用程序。我有一个带有 Name 属性的简单 Tag 模型。我继承了这个模型的数据,它不区分大小写存储值,所以一些用户输入诸如“树”之类的内容,而其他用户输入“树”,现在我们有两个真正应该是一个的标签。
所以,我想做一个查询来找到所有这些对,以便我可以合并它们。
到目前为止,我唯一能想到的就是编写一个 rake 任务,循环遍历它们并检查匹配的值......比如:
pairs = []
Tag.all.each do |t|
other = Tag.where( 'name LIKE ?', t.name )
pairs << [t, other] if other
end
但是,我不确定上述方法是否可行,或者在性能方面是否有意义。有没有更好的方法来编写可以找到这些匹配对的 SQL 查询?