我正在尝试为每个服务器实例设置默认日期格式,但我只找到为每个会话设置日期格式的示例。是否可以通过 T-SQL 执行前者?
提前致谢。
答案1
由于不存在默认日期,因此无法执行您所要求的操作。日期不是以字符串形式存储的,而是以数字形式存储的(从某个时间点开始的天数)。每个字符串格式始终取决于会话,因为它始终按照用户要求的格式进行格式化。
如果您确实需要将日期输入为字符串,请使用 ISO 格式,该格式在所有语言环境中均可接受。其格式为 YYYY-MM-DD(例如 2010-09-29)。
但返回的所有日期实际上总是作为日期字段返回,并且字符串形式仅在客户端上生成。
答案2
要更改每个服务器实例的日期格式,您需要更改服务器的默认语言。这可以通过 SQL Server Management Studio 完成,方法是右键单击服务器节点,然后选择属性 -> 高级 -> 默认语言。请注意,在此更改之前创建的登录将使用旧的默认语言。要更改每个登录的默认语言:
sp_defaultlanguage'登录名','语言名称'
就我而言,我使用了语言“巴西”,其中默认日期格式为 DMY。