我知道LIKE
是一个SQL命令,所以我也会添加SQL
基本上我有这个命令
gigurldb = Gigtable.where('eventtitle ILIKE ? AND eventdoortime = ? ', "%#{tmname}%", "#{tmdate}").first
tmname
通过名称
Granny Smiths - Apples
Gigtable
eventtitle
保存在Granny Smiths : Apples
列中
LIKE
现在ILIKE
或/dev/null
方法无法接听。
我有什么想法可以让这项工作得以实现?
由于
答案 0 :(得分:0)
ILIKE
代码仅对非区分大小写的操作有帮助。但在这种情况下,ILIKE
不接受替换 - :。 ILIKE
仅在Granny Smiths - Apples
与granny smiths - Apples
方案匹配时才有效。请点击链接了解更多详情
Postgres SELECT a concat field and ILIKE it in Rails
答案 1 :(得分:0)
如果问题中的问题字符始终是冒号或连字符,则可以替换冒号&使用通配符在搜索字符串中连字符。
gigurldb = Gigtable.where('eventtitle ILIKE ? AND eventdoortime = ? ', "%#{tmname.gsub(/[\-\:]/,"%")}%", "#{tmdate}").first
这将生成类似
的sqleventtitle ILIKE '%Granny Smiths % Apples%'
将捕获这两种情况。