如何获得yyyy-mm-dd
格式的上一年第一个月的第一天?即。 2019-01-01
。这是我尝试过的代码:
SELECT DATEADD(yy,-1,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0))
您似乎想生成一个字符串,而不是一个日期。考虑使用日期函数和字符串连接:您只需从当前日期减去1年,然后附加'-01-01'
concat_ws('-', year(getdate()) - 1, '01', '01')
您可以使用SQL Server中的DATEFROMPARTS()函数从给定的年,月和日创建整数的日期,如下所示。要获得上一年,可以使用Year()
函数并从中减去1
。第一个日期和月份始终为1
,因此已在此处进行了硬编码。
您基本上拥有它。您只需要FORMAT
功能。