SQL 查询 周月年

1.一个月第一天的   
Select   DATEADD(mm,   DATEDIFF(mm,0,getdate()),   0)   

2.本周一   
Select   DATEADD(wk,   DATEDIFF(wk,0,getdate()),0)
Select   dateadd(wk,datediff(wk,0,getdate()),6)  

 

3.一年的第一天   
SELECT   DATEADD(yy,   DATEDIFF(yy,0,getdate()),   0)   

4.季度的第一天   
SELECT   DATEADD(qq,   DATEDIFF(qq,0,getdate()),   0)   

5.当天的半夜   
SELECT   DATEADD(dd,   DATEDIFF(dd,0,getdate()),   0)   

6.上个月的最后一天   
SELECT   dateadd(ms,-3,DATEADD(mm,   DATEDIFF(mm,0,getdate()),   0))   

7.去年的最后一天   
SELECT   dateadd(ms,-3,DATEADD(yy,   DATEDIFF(yy,0,getdate()),   0))   

8.本月的最后一天   
SELECT   dateadd(ms,-3,DATEADD(mm,   DATEDIFF(m,0,getdate())+1,   0))   

9. 本年的最后一天   
SELECT   dateadd(ms,-3,DATEADD(yy,   DATEDIFF(yy,0,getdate())+1,   0))   

10.本月的第一个星期一   
select   DATEADD(wk,DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())),   0)

 

11.查询本周注册人数   
select count(*) from [user] where datediff(week,create_day-1,getdate())=0   

12.上周注册人数   
select   count(*)   from   [user]   where   datediff(week,create_day-1,getdate())=1   

13.本月注册人数   
select   count(*)   from   [user]   where   datediff(month,create_day,getdate())=0   

14.上月注册人数   
select   count(*)   from   [user]   
where   datediff(month,create_day,getdate())=1   

如果要效率,这样写查询

1.查询本周注册人数   
select   count(*)   from   [user]   
where   create_day>=dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112))   
and   create_day<dateadd(day,9-datepart(weekday,getdate()),convert(varchar,getdate(),112))   

2.上周注册人数   
select   count(*)   from   [user]   
where   create_day>=dateadd(day,-5-datepart(weekday,getdate()),convert(varchar,getdate(),112))   
and   create_day<dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112))   


3.本月注册人数   
select   count(*)   from   [user]   
where   create_day>=dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))   
and   create_day<dateadd(month,1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112)))   

4.上月注册人数   
select   count(*)   from   [user]   
where   create_day>=dateadd(month,-1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112)))   
and   create_day<dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))   

5.本周   
select   count(*)   from   User   
where   datediff(dd,create_day,getdate())   <=   datepart(dw,getdate())   

6.上周   
select   count(*)   from   User   
where   datediff(dd,create_day,(getdate()   -   datepart(dw,getdate())))   <=   7   

7.本月   
select   count(*)   from   User   
where   datepart(mm,create_day)   =   datepart(mm,getdate())  

8.上月   
select   count(*)   from   User   
where   datepart(mm,create_day)   =   datepart(mm,getdate())   -   1

9.本周   
select   count(*)   from   [User]   
where   datediff(dd,create_day,getdate())   <=   datepart(dw,getdate())   

10.上周   
select   count(*)   from   [User]   
where   datediff(dd,create_day,(getdate()   -   datepart(dw,getdate())))   <=   7   

11.本月   
select   count(*)   from   [User]   
where   datepart(mm,create_day)   =   datepart(mm,getdate())   
12. 上月   
select   count(*)   from   [User]   
where   datepart(mm,create_day)   =   datepart(mm,getdate())   -   1

学习   
month(create_day)=month(getdate())本月   
month(create_day)=month(getdate())-1   上月

SELECT * from feedback WHERE (DATEDIFF(d,fedtime,GETDATE())=0) ORDER BY fedid DESC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值