如何在rails 3.2.12的SQL比较中修剪数据库列?

时间:2013-05-04 19:10:13

标签: mysql sql ruby-on-rails ruby-on-rails-3 sqlite

请查看以下示例:

UserAccess.where("action = ? AND resource = ? ", 'index', 'logs')

我们面临的问题是列操作和数据库表中的资源有空格。为了使这种比较有效,我们必须首先调整行动和资源。我们尝试了功能修剪(),它似乎无法正常工作。有没有办法在将它们放在rails SQL中进行比较之前修剪列?理想情况下,解决方案不是特定于db引擎的,即使我们使用的是sqlite3。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

trim()应该有效,并且不区分大小写:

UserAccess.where("TRIM(action) = ? AND TRIM(resource) = ? ", 'index', 'logs')

另请注意,如果在插入UserAccess表之前剥离空格,事情会更清晰。