如何获取yyyy-mm-dd
格式的上个月的最后一天?
这是我尝试过的方法,但是我不想显示秒数。仅YYYY-MM-DD:
SELECT DATEADD(s, -1, DATEADD(mm, DATEDIFF(m, 0, GETDATE()), 0))
答案 0 :(得分:3)
将EOMONTH
函数与FORMAT
一起使用:
SELECT FORMAT(EOMONTH(CURRENT_TIMESTAMP, -1), 'yyyy-MM-dd')
以上示例中的-1
意味着从参数1中减去1个月(不需要DATEADD
)。
答案 1 :(得分:1)
将其转换为仅日期格式
SELECT convert(date,DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)),103)
答案 2 :(得分:1)
这应该有效
SELECT CONVERT(VARCHAR(10), DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)), 120)
答案 3 :(得分:0)
尝试一下这个受欢迎的方法:
SELECT CONVERT(VARCHAR(10),DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)),120)
答案 4 :(得分:0)
尝试一下:
Select CONVERT(varchar, DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)),23)
答案 5 :(得分:0)
由于较新版本的SQL支持它,因此我将使用它:
SELECT CONVERT(DATE,EOMONTH(DATEADD(MM,-1,GETDATE())),103)
代码较短,可以完成相同的任务...