以YYYY-MM-DD格式获取上个月的第一天

时间:2019-08-28 07:34:54

标签: sql sql-server tsql date sql-date-functions

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

我已经尝试过

SELECT CONVERT(VARCHAR(10), DATEADD(s, -1, DATEADD(mm, DATEDIFF(m, 0, GETDATE()), 0)), 120)  

2 个答案:

答案 0 :(得分:3)

您可以使用EOMONTH函数。该函数应该返回月底,因此要在结果中添加一天:

SELECT DATEADD(DAY, 1, EOMONTH(GETDATE(), -2)) -- returns 2019-07-01 on 2019-08-28 01:02:03.004

将以上表达式包装在FORMAT(..., 'yyyy-MM-dd')中,以格式化结果。

答案 1 :(得分:0)

这将起作用:

SELECT CONVERT(VARCHAR(10),DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)),23)

输出:

2019-07-31