sql天数查询

----本日
select cust_order_id ,description,customer_name,order_date,desired_ship_date,
part_description,standard,stock_um ,user_order_qty from  dbo.BS_XSReport
WHERE (DATEDIFF(d,order_date,GETDATE())=0)
--本周
select cust_order_id ,description,customer_name,order_date,desired_ship_date,
part_description,standard,stock_um ,user_order_qty from  dbo.BS_XSReport
 WHERE    datediff(week,order_date-1,getdate())=0
--本月
select cust_order_id ,description,customer_name,order_date,desired_ship_date,
part_description,standard,stock_um ,user_order_qty from  dbo.BS_XSReport
 WHERE    datediff(mm,order_date,getdate())=0
--年
select cust_order_id ,description,customer_name,order_date,desired_ship_date,
part_description,standard,stock_um ,user_order_qty from  dbo.BS_XSReport
where datediff(year, order_date,getdate())=0

 

 

 


---求相差天数  
select   datediff(day,'2004-01-01',getdate())      
    
--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)

--查询本周注册人数  
select   count(*)   from   [user]  
where   datediff(week,create_day-1,getdate())=0  
    
--上周注册人数  
select   count(*)   from   [user]  
where   datediff(week,create_day-1,getdate())=1  
    
    
--本月注册人数  
select   count(*)   from   [user]  
where   datediff(month,create_day,getdate())=0  
    
--上月注册人数  
select   count(*)   from   [user]  
where   datediff(month,create_day,getdate())=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))  
    
--上周注册人数  
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))  
    
    
--本月注册人数  
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)))  
    
--上月注册人数  
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))  
  
--本周  
select   count(*)   from   User  
where   datediff(dd,create_day,getdate())   <=   datepart(dw,getdate())  
        
--上周  
select   count(*)   from   User  
where   datediff(dd,create_day,(getdate()   -   datepart(dw,getdate())))   <=   7  
    
--本月  
select   count(*)   from   User  
where   datepart(mm,create_day)   =   datepart(mm,getdate())  

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


--上周  
select   count(*)   from   [User]  
where   datediff(dd,create_day,(getdate()   -   datepart(dw,getdate())))   <=   7  
    
--本月  
select   count(*)   from   [User]  
where   datepart(mm,create_day)   =   datepart(mm,getdate())  
--上月  
select   count(*)   from   [User]  
where   datepart(mm,create_day)   =   datepart(mm,getdate())   -   1
学习  
month(create_day)=month(getdate()) 本月  
month(create_day)=month(getdate())-1   上月


 

posted on 2012-11-06 13:58  tangyunping  阅读(693)  评论(0编辑  收藏  举报