`
julysohu
  • 浏览: 9623 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
文章分类
社区版块
存档分类
最新评论

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

分享到:
评论
1 楼 julysohu 2011-07-11  
SELECT * FROM (SELECT TOP 每页条数 * FROM (SELECT TOP 第几页*每页条数 id,linkMan  from ds_goods_orders  where 1=1  and shopid = ? and flag = ? ORDER BY id desc) T  ORDER BY id ) T  ORDER BY id desc

相关推荐

Global site tag (gtag.js) - Google Analytics