首页 > 解决方案 > 以 YYYY-MM-DD 格式获取上个月的第一天

问题描述

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

我试过这个

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

标签: sqlsql-servertsqldatesql-date-functions

解决方案


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

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

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


推荐阅读