首页 > 解决方案 > 以 yyyy-mm-dd 格式获取上一年第一个月的第一天

问题描述

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

SELECT DATEADD(yy,-1,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0))

标签: sqlsql-servertsqldateselect

解决方案


您可以使用SQL Server 中的DATEFROMPARTS()函数从给定的年、月和日期以整数形式创建日期,如下所示。要获得前一年,您可以使用Year()函数并从中减去1。第一个日期和月份总是1在这里被硬编码。

declare @IntYear int = Year(Getdate()) - 1 --Previous Year
Select datefromparts(@Intyear, 1, 1)

SSMS 中的输出如下所示。 在此处输入图像描述

要获得不同格式的输出,您可以点击此链接


推荐阅读