ActiveRecord simple question about date

Hi all, i have User model with bdate: string
Try :

User.find(2).bdate
=> Wed, 09 May 1945
User.find(2).bdate.to_s
=> “1945-05-09”

But if i run:

User.where(bdate: “1945-05-09”)
=> []
Why???

Hi all, i have User model with bdate: string
Try :

User.find(2).bdate
=> Wed, 09 May 1945
User.find(2).bdate.to_s
=> "1945-05-09"

Are you sure bdate is of type string in the database? If so then why
does it appear to interpret it as a date in your first example?

Colin

yes, it is string. I find decision , i am using date without zero’s like this:
User.where(bdate: “1945-5-9”)

yes, it is string.

Uh, well.

If the datatype of that column were String, would you think you'd
be likely to get different results from bdate and bdate.to_s?

yes, it is string. I find decision , i am using date without zero's like
this:

Just to convince us show us the users table entry from db/schema.rb.

Colin

Colin Law wrote in post #1127964:

yes, it is string. I find decision , i am using date without zero's like
this:

Just to convince us show us the users table entry from db/schema.rb.

Just a thought, but if the birthday is truly being stored in a string
(varchar) field, doesn't that make localizing your application somewhat
more difficult?

05/09/1945 - U.S.A
09.05.1945 - Europe
1945年5月9日 - Japan
Wednesday, May 9, 1945 - U.S.A Long Format