如何将 SQL Server 2016 GETDATE() 函数输出转换为 MMM dd, yyyy?
How to convert SQL Server 2016 GETDATE() function output to MMM dd, yyyy?
我正在编写一个存储过程,我在其中使用 GETDATE()
获取今天的日期并在报告中填充输出,其中日期格式应类似于 2020 年 1 月 19 日 但我得到的输出类似于 2020-01-19。有人可以帮我吗。我试了很多方法都无济于事。
我写过这段代码:
DECLARE @v_current_date date;
SELECT @v_current_date = CONVERT(varchar, GETDATE(), 107);
另一个,我从 table 获取日期,其中数据存储为 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
有人可以帮我吗?谢谢。
如果您检查 official MS documentation on CONVERT
,您很快就会发现没有符合您要求的预定义样式。
所以剩下的唯一选择是使用 FORMAT
函数(我 也 建议使用 SYSDATETIME()
而不是 GETDATE()
):
DECLARE @v_current_date DATE = SYSDATETIME();
SELECT FORMAT(@v_current_date, 'MMM dd, yyyy');
我正在编写一个存储过程,我在其中使用 GETDATE()
获取今天的日期并在报告中填充输出,其中日期格式应类似于 2020 年 1 月 19 日 但我得到的输出类似于 2020-01-19。有人可以帮我吗。我试了很多方法都无济于事。
我写过这段代码:
DECLARE @v_current_date date;
SELECT @v_current_date = CONVERT(varchar, GETDATE(), 107);
另一个,我从 table 获取日期,其中数据存储为 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
有人可以帮我吗?谢谢。
如果您检查 official MS documentation on CONVERT
,您很快就会发现没有符合您要求的预定义样式。
所以剩下的唯一选择是使用 FORMAT
函数(我 也 建议使用 SYSDATETIME()
而不是 GETDATE()
):
DECLARE @v_current_date DATE = SYSDATETIME();
SELECT FORMAT(@v_current_date, 'MMM dd, yyyy');