如何查询数据库的字符集(SQL Server 2005)?

6

如何查询数据库文化(SQL Server 2005)?

由于客户端服务器与开发者服务器不在同一文化环境下,我在插入和获取日期时遇到了问题。

我可以调整日期,但需要知道服务器的文化环境…


我认为 SQL Server 会从操作系统中获取区域设置信息(假设您不是在谈论 CLR 查询)。 - Kane
是的,但是如果开发者的操作系统语言与服务器操作系统语言不同,那会导致问题。 - Stefan Steiger
2个回答

13
你可以使用以下方法了解当前配置的语言:
SELECT @@language

你可能还想查看这个内容:

EXEC sp_helplanguage

它将显示可用的语言以及它们具有的日期格式等内容。这基本上是 sys.syslanguages 系统目录表的内容。
至于日期处理 - 最好使用基于 DateTime 的参数化查询,或者如果必须使用日期字符串,则在 SQL Server 中使用 ISO-8601 日期格式
无论当前选择的语言设置如何,格式YYYYMMDDYYYYMMDD HH: MM:SS 都将始终起作用。

1

你不需要那个。

  • 日期作为日期始终在客户端输入/输出,服务器文化在此处无关,因为可视化/字符串转换发生在客户端。因此,使用变量作为查询参数并获取正确的类型作为输出(应自动发生),您将一开始就不会有问题。
  • 如果必须插入字符串,请使用ISO格式(2010-12-05 23:15:22.233),该格式在所有文化设置下都被识别为通用回退。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接