【问题标题】:How to convert SQL Server 2016 GETDATE() function output to MMM dd, yyyy?如何将 SQL Server 2016 GETDATE() 函数输出转换为 MMM dd, yyyy?
【发布时间】:2020-12-08 20:23:55
【问题描述】:

我正在编写一个存储过程,我正在使用 GETDATE() 获取今天的日期并将输出填充到报告中,其中日期格式应该类似于 2020 年 1 月 19 日,但我得到了像 2020-01-19 这样的输出。有人可以在这里帮助我吗?我尝试了很多方法,但无济于事。

我已经写了这段代码:

  DECLARE @v_current_date date;

  SELECT @v_current_date = CONVERT(varchar, GETDATE(), 107);

另一个,我从数据存储为yyyy-MM-dd 的表中获取日期,我想将其转换为 2020 年 1 月 19 日

DECLARE @v_updated_date varchar(1000);

SELECT @v_updated_date = last_updated_date 
FROM us_year_expenditure
WHERE tax_id = @v_each_tax_id

有人可以帮我吗?谢谢。

【问题讨论】:

  • 您使用什么报告工具?大多数人都可以在报告中进行转换。

标签: sql database sql-server-2016


【解决方案1】:

如果您检查official MS documentation on CONVERT,您会很快发现没有符合您要求的预定义样式。

所以剩下的唯一选择是使用FORMAT 函数(我建议使用SYSDATETIME() 而不是GETDATE()):

DECLARE @v_current_date DATE = SYSDATETIME();

SELECT FORMAT(@v_current_date, 'MMM dd, yyyy');

【讨论】:

  • 谢谢你 marc_s。我错过了这个 FORMAT() 方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-28
  • 2012-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-20
  • 1970-01-01
相关资源
最近更新 更多