views:

36

answers:

2

How can I query the database culture (SQL Server 2005) ?

I have problems inserting and getting dates, 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...

+1  A: 

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.
TomTom
+1  A: 

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.

marc_s