我有一张t.string :created_time
列
它包含UTC格式的数据(例如2017-05-10T06:30:01+0000
)
我必须从具有特定日期的表中检索记录,但时间并不重要
date = Date.new(2017,05,10)
nodes = Node.where(created_time: date)
logger.info nodes.count
这里我有0
计数。如何对created_time
值进行额外处理,以便我只能比较 date 部分?
答案 0 :(得分:1)
像这样创建日期范围和查询
date = Date.new(2017,05,10)
nodes = Node.where(created_time: date.beginning_of_day..date.end_of_day)
您将获得当天的记录;)
<强>更新强>
为什么created_at
一个string
??
试试吧,
Node.where('DATE(nodes.created_time) = ?', date)
答案 1 :(得分:0)
从mysql表中选择日期作为日期,就像这样
SELECT DATE(date_time_field) FROM `yourtable`;