Rails Console - Find where created at = certain day

后端 未结 5 594
醉话见心
醉话见心 2021-02-01 03:48

With Ruby on Rails console, is it possible to query the database for all records created on a certain day?

something like

date = \"january 5 2013\"
user         


        
相关标签:
5条回答
  • 2021-02-01 04:12

    Try this,

    User.where("Date(updated_at) = ?", "2018-02-9")
    
    0 讨论(0)
  • 2021-02-01 04:14

    You can also do it like

    User.where("created_at::date = ?", "january 5 2013".to_date)
    
    0 讨论(0)
  • 2021-02-01 04:25

    Yes, It is possible like:

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

    but created_at is type of date-time like 2014-01-28 08:35:00.9608

    and I think All user have different created_at

    So you may used like this

    User.where("created_at = ?", "2014-01-23 16:19:48.199086")
    
    0 讨论(0)
  • 2021-02-01 04:29

    You can do it like this:

    date = Date.parse('january 5 2013')
    users = User.where(created_at: date.midnight..date.end_of_day)
    
    0 讨论(0)
  • 2021-02-01 04:32

    If you see the follow link Don't use BETWEEN (especially with timestamps) You will note that you can have problems.

    Instead you can use

    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')"
    
    0 讨论(0)
提交回复
热议问题