SqlServer中如何查询最近几天数据

问题描述

如何查询最近7天内数据?

解决

select * from xxx where datediff(d, d_createdate, getdate()) < 7

核心为 datediff 函数,获取两个日期之间的时间。

datediff(datepart,startdate,enddate)

日期部分(datepart) 全名 缩写
year yy, yyyy
季度 quarter qq, q
month mm, m
一年中的日期 dayofyear dy, y
day dd, d
week wk, ww
小时 hour hh
分钟 minute mi, n
second ss, s
毫秒 millisecond ms
微妙 microsecond mcs
纳秒 nanosecond ns

dayofyear 和 day 在 datediff 函数中的结果是相同的。datediff 函数在类型为毫秒,微妙,纳秒时可能超出 int 的最大范围,所以SqlServer还提供了 datediff_big 函数

datediff_big(datepart,startdate,enddate)

但在类型为纳秒时也可能超出 bigint 的最大范围。

参考

DATEDIFF (Transact-SQL)
SQL Server DATEDIFF() 函数
SQLServer 日期函数大全
SQL Server DATEDIFF: How's dayofyear different from day?

posted @ 2021-08-25 21:22  strongmore  阅读(1280)  评论(0编辑  收藏  举报