我有一个列release_date
,它以字符串格式存储日期(不是DATETIME格式。因为它们有时可以是任何其他字符串文字)。
我希望根据给定的月份和年份查找所有记录,但是可以找到任何日期。
试过以下但不适合我,
> Post.find(:all, :conditions => ["release_date RLIKE ? AND deleted_at is null", "^\d{2}-01-2016"])
当我通过提供直接日期来尝试同样的事情时,它可以正常工作。
> Post.find(:all, :conditions => ["release_date RLIKE ? AND deleted_at is null", "09-01-2016"])
注意: - 我正在使用Ruby On Rails 2
和MySQL
非常感谢您的帮助!
答案 0 :(得分:2)
mysql / posix不支持\d
。使用字符类[0-9]
,它应该工作。或者,您可以将posix字符类用于数字[:digit:]
。