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

Ruby on rails Rails控制台-查找在某一天创建的位置,ruby-on-rails,ruby,database,postgresql,rails-console,Ruby On Rails,Ruby,Database,Postgresql,Rails Console,使用RubyonRails控制台,是否可以查询数据库中某一天创建的所有记录 差不多 date = "january 5 2013" users = User.find(:all, :conditions => {:created_at => date}) 您可以这样做: date = Date.parse('january 5 2013') users = User.where(created_at: date.midnight..date.end_of_day) 是的,可能是这

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

差不多

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

您可以这样做:

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

是的,可能是这样的:

date = Date.parse("january 5 2013")
users = User.where(created_at: date)
但是在创建的是日期时间类型,类似于
2014-01-28 08:35:00.9608

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

所以你可以这样使用

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

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

你也可以这样做

User.where("created_at::date = ?", "january 5 2013".to_date)

如果你看到下面的链接 你会注意到你可能有问题

相反,你可以使用

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')"

users=User.where('created_at>=?和created_at first part不起作用。您不需要将字符串转换为日期吗?第二部分可能会起作用,但我需要它是可变的。我希望从那天开始的所有用户,而不是特定用户。您可以使用stamp gem,并使用类似date=date.today.stamp(“2013年1月5日”)的变量使用date.开始日期..日期.结束日期有问题吗?