我想根据我的数据库表 [member] 字段“date_created”获取上个月的记录。
执行此操作的 sql 是什么?
为了澄清,上个月 - 2009 年 1 月 8 日至 2009 年 8 月 31 日
如果今天是 2010 年 3 月 1 日,我需要获取 2009 年 1 月 12 日到 2009 年 12 月 31 日的记录。
原文由 Billy 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想根据我的数据库表 [member] 字段“date_created”获取上个月的记录。
执行此操作的 sql 是什么?
为了澄清,上个月 - 2009 年 1 月 8 日至 2009 年 8 月 31 日
如果今天是 2010 年 3 月 1 日,我需要获取 2009 年 1 月 12 日到 2009 年 12 月 31 日的记录。
原文由 Billy 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是我所做的,所以我可以把它放在一个视图中:
ALTER view [dbo].[MyView] as
with justdate as (
select getdate() as rightnow
)
, inputs as (
select dateadd(day, 1, EOMONTH(jd.rightnow, -2)) as FirstOfLastMonth
,dateadd(day, 1, EOMONTH(jd.rightnow, -1)) as FirstOfThisMonth
from justdate jd
)
SELECT TOP 10000
[SomeColumn]
,[CreatedTime]
from inputs i
join [dbo].[SomeTable]
on createdtime >= i.FirstOfLastMonth
and createdtime < i.FirstOfThisMonth
order by createdtime
;
请注意,我故意运行 getdate()
一次。
原文由 Be Kind To New Users 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要检查月份和年份。