-2

我想显示上个月的日期。我可以知道用于显示所有日期的查询吗

预期输出:

当前日期 = '2012-09-13'
我想将结果显示为

1
2
3
4
,
,
,
,
31     

这些日期应该从第 8 个月开始

4

2 回答 2

1

试试这个:

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() 替换为您的日期

于 2012-09-13T06:26:02.190 回答
0

请试试:

;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
于 2012-09-13T06:28:44.703 回答