I did it that way Aldric. It seems to be the better way. I will have a
lots of rows in the database, so I wanted to boost the performance.
That's why I want only to retrieve the specific day.
It's not a good idea to store dates in the DB as strings. You should
store dates as dates in the DB. SQL has date handling functions that
you can use,
I agree with Marnen in this point. If you use a table "birthdays" for
storing the birthdays for users having fields
user_id => :integer
date => :date
then i think its better to use named_scope. As i said, if your model
name is Birthday then define a named_scope as
named_scope :of_day, lambda { |date| {:conditions => { :day =>
date } } }
And call it like
Birthday.of_day(Date.today)
That will generate a single query like following
SELECT * FROM `birthdays ` WHERE (`birthdays `.`date` =
'2009-09-22')
This will give you a reusable and readable way you can apply for any
other days if you want.
Hope this will help