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?


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM