2010-03-12 63 views
3

如何查詢數據庫文化(SQL Server 2005)?如何查詢數據庫文化(SQL Server 2005)?

我在插入和獲取日期時遇到問題,因爲客戶端的服務器與我的開發人員服務器不在相同的區域上運行。

我可以調整日期,但我需要知道服務器的文化......

+0

我以爲SQL Server從OS獲取了文化信息(假設您不是在談論CLR查詢) – Kane 2010-03-12 11:04:22

+0

是的,但是如果開發人員OS語言與服務器OS語言不同,則會產生問題。 – 2010-03-12 11:32:42

回答

6

你可以找到當前配置的語言使用此:

SELECT @@language 

,你可能也想看看這個:

EXEC sp_helplanguage 

它會顯示可用的語言,和他們有什麼日期格式等等。這基本上是sys.syslanguages系統目錄表的內容。

至於日期處理 - 最好使用基於DateTime的參數化查詢,或者如果必須有日期字符串,請在SQL Server中使用ISO-8601 date format

格式YYYYMMDDYYYYMMDD HH:MM:SS將始終工作,無論當前在SQL Server中選擇哪種語言設置。

0

你不需要這一點。

  • 作爲日期的日期總是在客戶端中輸入/輸出,因爲在客戶端上發生可視化/字符串轉換時服務器文化與此無關。因此,使用變量來處理查詢參數並獲取適當的類型作爲輸出(應該自動發生),並且您不會遇到問題。
  • 如果您必須插入字符串,請使用在所有文化設置下被識別爲通用回退的ISO表單(2010-12-05 23:15:22.233)。