SSMS中无需使用Convert/Format,如何让日期按数据库用户语言格式显示?
解决方案
核心问题在于:SQL Server返回的date类型是原生二进制日期数据,并非字符串,其显示格式由SSMS客户端设置控制,而非数据库用户的服务器端语言设置——你之前的服务器端配置(用户语言、DATEFORMAT)仅影响输入解析(比如WHERE子句中的日期字符串识别),不直接决定查询结果的显示格式。
以下是具体解决步骤:
调整SSMS查询结果的日期显示格式:
- 打开SSMS,点击顶部菜单栏的
Tools->Options - 在左侧导航栏展开
Query Results->SQL Server,选择你常用的输出模式:- 如果用网格输出,选
Results to Grid - 如果用文本输出,选
Results to Text
- 如果用网格输出,选
- 在右侧找到
Date and time formats选项,选择对应意大利语的格式(比如dd/MM/yyyy) - 点击
OK保存设置,重启查询窗口生效
- 打开SSMS,点击顶部菜单栏的
验证逻辑:
执行SELECT CAST(GETDATE() AS VARCHAR),这个查询会返回服务器端用户语言(意大利语)格式的字符串(dd/MM/yyyy);而SELECT GETDATE()作为原生date类型返回时,显示格式就会遵循你刚才设置的SSMS客户端格式。补充说明:
你之前安装意大利语版SSMS、修改Environment语言的操作,主要影响的是SSMS的界面语言,而非查询结果中日期数据的显示格式,所以没解决问题。
内容的提问来源于stack exchange,提问作者usr4217
相关产品推荐
相关产品推荐

