以yyyy-mm-dd格式获取上一年第一个月的第一天

问题描述 投票:0回答:3

如何获得yyyy-mm-dd格式的上一年第一个月的第一天?即。 2019-01-01。这是我尝试过的代码:

SELECT DATEADD(yy,-1,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0))
sql-server
3个回答
1
投票

您似乎想生成一个字符串,而不是一个日期。考虑使用日期函数和字符串连接:您只需从当前日期减去1年,然后附加'-01-01'

concat_ws('-', year(getdate()) - 1, '01', '01')

1
投票

您可以使用SQL Server中的DATEFROMPARTS()函数从给定的年,月和日创建整数的日期,如下所示。要获得上一年,可以使用Year()函数并从中减去1。第一个日期和月份始终为1,因此已在此处进行了硬编码。


0
投票

您基本上拥有它。您只需要FORMAT功能。

© www.soinside.com 2019 - 2024. All rights reserved.