Subject | FB, US vs UK date formats? |
---|---|
Author | Jason Frey |
Post date | 2002-07-12T17:19:11Z |
I have a firebird database, developed on a machine with US settings.
Problem is, when we switch the machine over to UK settings (To test for UK
issues, obviously) all of my queries that have dates as literal strings are
hosed. They need to have the date strings in US format still.
For instance, take some generic person table. I want to get out the list of
people born on March 1st, 1990.
If my machine is set to US, I need to do the following:
select * from people where birthday = '03/01/1990'
This works fine.
If I switch to UK formats (after the machine reboot), I would expect to have
to do:
select * from people where birthday = '01/03/1990'
And in fact, that's the query Delphi will spit out in my code, as all of
it's DateToStr functions pay attention to Windows settings.
However, I get no results. To get the same results, I'd have to do the US
query, even though my results that come up in my grid display in UK format.
Is there some setting on Interbase/Firebird (we have a mix of them, and the
same behavior happens on both) that needs to be set for language? I've
tried searching through the archives, and didn't find anything, nor has any
of the documentation I've looked at screamed at me "Look here for date
manipulation issues"
Can someone elighten me as to what's going on?
- Jason
Problem is, when we switch the machine over to UK settings (To test for UK
issues, obviously) all of my queries that have dates as literal strings are
hosed. They need to have the date strings in US format still.
For instance, take some generic person table. I want to get out the list of
people born on March 1st, 1990.
If my machine is set to US, I need to do the following:
select * from people where birthday = '03/01/1990'
This works fine.
If I switch to UK formats (after the machine reboot), I would expect to have
to do:
select * from people where birthday = '01/03/1990'
And in fact, that's the query Delphi will spit out in my code, as all of
it's DateToStr functions pay attention to Windows settings.
However, I get no results. To get the same results, I'd have to do the US
query, even though my results that come up in my grid display in UK format.
Is there some setting on Interbase/Firebird (we have a mix of them, and the
same behavior happens on both) that needs to be set for language? I've
tried searching through the archives, and didn't find anything, nor has any
of the documentation I've looked at screamed at me "Look here for date
manipulation issues"
Can someone elighten me as to what's going on?
- Jason