【问题标题】:How can I query the database culture (SQL Server 2005)?如何查询数据库文化 (SQL Server 2005)?
【发布时间】:2010-03-12 11:00:17
【问题描述】:

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

我在插入和获取日期时遇到问题,因为客户端的服务器与我的开发人员服务器运行的文化不同。

我可以调整日期,但我需要了解服务器的文化...

【问题讨论】:

  • 我认为 SQL Server 从操作系统中获取了文化信息(假设您不是在谈论 CLR 查询)
  • 是的,但如果开发者操作系统语言与服务器操作系统语言不同,就会产生问题。

标签: sql-server sql-server-2005 culture


【解决方案1】:

您可以通过以下方式了解当前配置的语言:

SELECT @@language

你可能还想看看这个:

EXEC sp_helplanguage

它将显示可用的语言,以及它们具有的日期格式等。这基本上就是sys.syslanguages系统目录表的内容。

至于日期处理 - 最好使用基于 DateTime 的参数化查询,或者如果您必须有日期字符串,请在 SQL Server 中使用 ISO-8601 date format

YYYYMMDDYYYYMMDD HH:MM:SS 格式将始终有效,无论当前在 SQL Server 中选择的语言设置如何。

【讨论】:

    【解决方案2】:

    你不需要那个。

    • 作为 DATES 的日期总是在客户端获得输入/输出,服务器文化在这里无关紧要,因为可视化/字符串转换发生在客户端。因此,使用变量 foe 查询参数并获取正确的类型作为输出(应该自动发生),您将不会遇到问题。
    • 如果您必须插入字符串,请使用 ISO 表单 (2010-12-05 23:15:22.233),它在所有文化设置下都被识别为通用后备。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多