我想显示上个月的日期。我可以知道用于显示所有日期的查询吗
预期输出:
当前日期 = '2012-09-13'
我想将结果显示为
1
2
3
4
,
,
,
,
31
这些日期应该从第 8 个月开始
我想显示上个月的日期。我可以知道用于显示所有日期的查询吗
预期输出:
当前日期 = '2012-09-13'
我想将结果显示为
1
2
3
4
,
,
,
,
31
这些日期应该从第 8 个月开始
试试这个:
SELECT NUMBER
FROM MASTER..SPT_VALUES
WHERE TYPE='P'
AND NUMBER BETWEEN
DATEPART(DD,DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1,0))
AND DATEPART(DD,DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()),-1))
将 Getdate() 替换为您的日期
请试试:
;WITH DATES (date)
AS(
SELECT DATEADD(month, DATEDIFF(month, 0, dateadd(month,-1,getdate())), 0)
UNION ALL
SELECT DATEADD(DAY,1,date)
FROM DATES
WHERE DATEADD(DAY,1,date)<=DATEADD(month, DATEDIFF(month, 0, getdate()), 0)-1
)SELECT DAY(date) AS DAYS FROM DATES