Rails控制台 - 查找在某一天创建的位置

时间:2014-01-28 15:42:50

标签: ruby-on-rails ruby database postgresql rails-console

使用Ruby on Rails控制台,是否可以在数据库中查询某一天创建的所有记录?

类似

date = "january 5 2013"
users = User.find(:all, :conditions => {:created_at => date})

5 个答案:

答案 0 :(得分:53)

你可以这样做:

date = Date.parse('january 5 2013')
users = User.where(created_at: date.midnight..date.end_of_day)

答案 1 :(得分:2)

是的,有可能像:

date = Date.parse("january 5 2013")
users = User.where(created_at: date)

created_at是类似2014-01-28 08:35:00.9608

的日期时间类型

我认为所有用户都有不同的created_at

所以你可以像这样使用

User.where("created_at = ?", "2014-01-23 16:19:48.199086")

答案 2 :(得分:1)

试试这个,

User.where("Date(updated_at) = ?", "2018-02-9")

答案 3 :(得分:1)

您也可以像

一样进行操作
User.where("created_at::date = ?", "january 5 2013".to_date)

答案 4 :(得分:0)

如果您看到以下链接Don't use BETWEEN (especially with timestamps) 您会注意到您可能会遇到问题。

相反,您可以使用

users = User.where('created_at >= ? and created_at <=?', date.midnight, date.end_of_day)



"SELECT \"users\".* FROM \"users\" WHERE (created_at >= '2018-05-17 07:00:00' and created_at <='2018-05-18 06:59:59.999999')"