web-dev-qa-db-ja.com

Railsコンソール-=特定の日に作成された場所を見つける

Ruby on Rails consoleの場合、データベースに特定の日に作成されたすべてのレコードをクエリすることはできますか?

何かのようなもの

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

あなたはこのようにそれを行うことができます:

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

これを試して、

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

次のようにすることもできます

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

次のリンクが表示された場合 BETWEENを使用しないでください(特にタイムスタンプを使用) 問題が発生する可能性があることに注意してください。

代わりに使用できます

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

はい、それは次のように可能です:

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

created_at2014-01-28 08:35:00.9608のような日時のタイプです

そして、私はすべてのユーザーが異なるcreated_atを持っていると思います

だからあなたはこのように使うかもしれません

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