Formatting a date in a SQL query in Rails
If you need to use a date/time in a SQL fragment in Ruby on Rails you can format it using the to_formatted_s method.
RUBY:
-
num_entries_in_last_24_hours = Entry.count(:conditions => "created_at <'#{24.hours.ago.to_formatted_s(:db)}'")
This works for mysql, not sure about other databases. Here's the relevant API link.

Isn't it more portable to use the "?" notation:
num_entries_in_last_24_hours = Entry.count(:conditions => ["created_at
July 29th, 2006 at 9:08 am
Hmm, looks like Ryan's comment got cut off -- I assume he's suggesting something like:
Entry.count(:conditions => ["created_at < ?", 24.hours.ago.to_formatted_s(:db)])And, yep, that seems like a better way to go!
Luke
July 29th, 2006 at 9:13 pm