从(字符串)大于或等于今天的Rails

时间:2017-01-15 02:20:35

标签: sql ruby-on-rails string datetime where

我有一个列from:string

的请求表

我想获得Request.where("from >= ?", Date.today)但是来自字符串。有没有办法让所有请求从大于或等于今天,而不将列字符串更改为datetime?

2 个答案:

答案 0 :(得分:1)

您还可以将字符串转换为SQL中的日期。

Request.where("DATE(from) >= ?", Date.today)

我认为尽管可能,但更改列类型会更好。将日期存储为字符串通常是一个坏主意。

答案 1 :(得分:0)

如果from列字符串的格式为通常的字符串日期格式(例如“2017-01-15”),则只需将Date.today转换为字符串。字符串排序将自动等同于日期排序。

Request.where("from >= ?", Date.today.to_s)