How can I query the database culture (SQL Server 2005)?
How can I query the database culture (SQL Server 2005) ?
I have problems inserting and getting 开发者_如何学JAVAdates, because the client's servers don't run on the same culture as my developer server.
I can adjust the date, but I need to know the server's culture...
You can find out about the currently configured language using this:
SELECT @@language
and you might also want to check out this:
EXEC sp_helplanguage
It will show the available languages, and what date formats etc. they have. This is basically the contents of the sys.syslanguages
system catalog table.
As for date handling - preferably use DateTime based parametrized queries, or if you have to have date strings, use the ISO-8601 date format in SQL Server.
The format YYYYMMDD
or YYYYMMDD HH:MM:SS
will always work, regardless of currently selected language settings in SQL Server.
You dont need that.
- Dates as DATES always get input/ouput in the client, the server culture is irrelevant here as the visualization / string conversion happens on the client. So, use variables foe query parameters and get the proper types as output (should happen autoamtically) and you will not have a problem to start with.
- If you have to insert strings, use ISO form (2010-12-05 23:15:22.233) which is recognized under ALL culture settings as generic fallback.
精彩评论