Консоль Rails - найдите, где создано в = определенный день

С консолью Ruby on Rails можно запросить базу данных для всех записей, созданных в определенный день?

что-то вроде

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

Ответы

Ответ 1

Вы можете сделать это следующим образом:

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

Ответ 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")

Ответ 3

Попробуй это,

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

Ответ 4

Вы также можете сделать это как

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

Ответ 5

Если вы видите следующую ссылку Не используйте МЕЖДУ (особенно с метками времени). Вы заметите, что у вас могут быть проблемы.

Вместо этого вы можете использовать

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