sql  DATEDIFF 函数

今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0
 
昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=1
 
7天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=7
 
30天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=30
 
半个月的所有数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate()) <=15
 
本月的所有数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate())=0
上月的所有数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate()) <=1
 
本年的所有数据:select * from 表名 where DateDiff(yy,datetime类型字段,getdate())=0
--查询今天是今年的第几天
select datepart(dayofyear,getDate())  --
--查询今天是本月的第几天
select day(getDate())
--查询本周的星期一日期是多少
SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0)  --2019-08-12 00:00:00.000
 
--昨天
select convert(varchar(10),dateadd(DD,-1,getdate()),120)  --2019-08-12
 
--本月有多少天
select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast((cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' ) as datetime )))) --
 
--两个时间段相差几天
select datediff(day,'2012/8/1','2012/8/20') as daysum    --19