日期查询
datepart 参考值
年 | yy, yyyy |
---|---|
季度 | qq, q |
月 | mm, m |
年中的日 | dy, y |
日 | dd, d |
周 | wk, ww |
星期 | dw, w |
小时 | hh |
分钟 | mi, n |
秒 | ss, s |
毫秒 | ms |
微秒 | mcs |
纳秒 | ns |
1. DATEADD() 函数在日期中添加或减去指定的时间间隔
DATEADD(datepart,number,date)
date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数
SELECT DATEADD(MINUTE,-10,GETDATE()) --获取当前时间10分钟之内的数据
SELECT DATEADD(YEAR,1,getdate()) --一年前
SELECT DATEADD(MONTH,6,getdate()) --+6个月时间点
SELECT DATEADD(WEEK,1,getdate()) --一周
SELECT DATEADD(DAY,2,getdate()) -- 2天
SELECT DATEADD(HOUR,12,getdate()) --12小时
SELECT DATEADD(SECOND,30,getdate()) -- 30秒
2.DATEDIFF() 函数返回两个日期之间的时间。
DATEDIFF(datepart,startdate,enddate)
startdate 和 enddate 参数是合法的日期表达式
SELECT * FROM table WHERE DATEDIFF(dd,StartDate,getdate())=0 --今天的所有数据:
SELECT * FROM table WHERE DATEDIFF(dd,StartDate,getdate())=1 --昨天的所有数据:
SELECT * FROM table WHERE DATEDIFF(dd,StartDate,getdate())<=7 --7天内的所有数据
SELECT * FROM table WHERE DATEDIFF(dd,StartDate,getdate())<=30 --30天内的所有数据
SELECT * FROM table WHERE DATEDIFF(mm,StartDate,getdate())=0 --本月的所有数据:
SELECT * FROM table WHERE DATEDIFF(yy,StartDate,getdate())=0 --本年的所有数据:
3.DATEPART()返回一个整数,它是日期的一部分,例如日,月和年。
DATEPART ( date_part , input_date )
SELECT DATEPART(DAYOFYEAR,GETDATE()) -- 查询今天是今年的第几天
SELECT DATEPART(dd,GETDATE()) -- 查询今天是本月的第几天
标签:--,DATEDIFF,dd,查询,DATEADD,SQL,Server,SELECT,getdate
From: https://www.cnblogs.com/Winstons/p/16883634.html