在做Sql Server开发的时候有时需要获取表中今天、昨天、本周、上周、本月、上月等数据,这时候就需要使用DATEDIFF()函数及GetDate()函数了。

    DATEDIFF ( datepart , startdate , enddate ) 释义:计算时间差 datepart值:year | quarter | month | week | day | hour | minute | second | millisecond
    startdate:开始日期
    enddate :结束日期

    GetDate()
    释义:获取当前的系统日期

    下面例子中表名为dept,条件字段名为create_date
    查询今天

    1. SELECT * FROM dept where DATEDIFF(day,create_date,GETDATE())=0

    查询昨天

    1. SELECT * FROM dept where DATEDIFF(day,create_date,GETDATE())=1

    查询本周

    1. SELECT * FROM dept where datediff(week,create_date,getdate())=0

    查询上周

    1. SELECT * FROM dept where datediff(week,create_date,getdate())=1

    查询本月

    1. SELECT * FROM dept where DATEDIFF(month,create_date,GETDATE())=0

    查询上月

    1. SELECT * FROM dept where DATEDIFF(month,create_date,GETDATE())=1

    查询本季度的

    1. select * from dept where datediff(quarter,create_date,getdate())=0