You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让SQL Server 2019 Express的date类型全局显示为MM-DD-YYYY格式?

SQL Server 2019 Express 日期列统一显示为 MM-DD-YYYY 的方法

首先明确:SQL Server 的 date 类型是无格式存储的,它保存的是日期的内部数值,显示格式由客户端工具或查询逻辑决定,无法直接在表列层面设置固定显示格式。以下是全局生效的解决方案:

一、修改SSMS(SQL Server Management Studio)的全局显示设置

这个设置会让你在SSMS里编辑、查看所有表的日期列时,都以MM-DD-YYYY格式显示:

  • 打开SSMS,点击顶部菜单「工具」→「选项」
  • 在弹出的窗口中,展开「环境」→「区域设置」
  • 找到「日期和时间格式」,选择「MM-DD-YYYY」
  • 点击「确定」后重启SSMS,设置即可生效

二、修改数据库/登录账号的默认语言(全局影响查询格式)

通过修改默认语言,让该账号/数据库下的所有查询结果,日期默认以MM-DD-YYYY格式返回:

  1. 修改指定登录账号的默认语言:
    ALTER LOGIN [你的登录账号名] WITH DEFAULT_LANGUAGE = us_english;
    
  2. 修改整个数据库的默认语言:
    ALTER DATABASE [你的数据库名] SET DEFAULT_LANGUAGE = us_english;
    

注意:这个设置会同时影响货币、数字等其他区域格式,不止日期。

三、查询时强制转换格式(灵活可控)

如果不想修改全局语言设置,可在查询时显式转换日期格式,确保输出为MM-DD-YYYY:

  • 使用FORMAT函数(SQL Server 2012+支持):
    SELECT FORMAT(日期列名, 'MM-dd-yyyy') AS 格式化日期 FROM 表名;
    
  • 使用CONVERT函数(兼容性更好),样式码101对应MM-DD-YYYY:
    SELECT CONVERT(VARCHAR, 日期列名, 101) AS 格式化日期 FROM 表名;
    

重要提醒:不要将date类型改成varchar来存储格式化后的日期,这会丢失日期的计算、比较能力,还容易引发数据一致性问题。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 18:06:31