SQLServer根据时间段查询数据
今天一同事发现一个SQLServer语句执行特别慢,检查后发现是 条件 加上了 时间段 ,之前使用的是 时间字段 between xxx and xxx这样的方式,遂更改时间判断方法,
----------dafediff----------返回两个时间点的差,可选单位 yy,mm,dd,hh,ss等
查询今年的数据 :
select * from datediff(yy,时间字段,getdate())=0
查询2016年的数据:
select * from datediff(yy,时间字段,\'2016\')=0
----------dafepart----------截取一个时间点的某单位,列如截取年或者月或者天,可选单位 yy,mm,dd,hh,ss等
查询某段时间的数据,例如 2016年2月到2016年12月:
select * from datediff(yy,时间字段,\'2016\')=0 and datepart(mm,时间字段)>=2 and datepart(mm,时间字段)<=12