SQL 查询今天、昨天、7天内、30天的数据

SQL 查询今天、昨天、7天内、30天的数据,第1张

主要用到sql 函数 

DATEDIFF( datepart , startdate , enddate )

startdate=日期字段名称

--查询 今日

select * from tableA where DateDiff(dd,datetime类型字段,getdate())= 0

--查询 昨日

select * from tableA where DateDiff(dd,times,getdate())= 1

--查询 本周

select * from tableA where DateDiff(dd,VoucherDate,getdate())<=7

--查询 上周

select * from tableA where DateDiff(dd,VoucherDate,getdate())>7 and DateDiff(dd,VoucherDate,getdate())<=14

--查询 本月

select * from tableA where DateDiff(mm,VoucherDate,getdate())= 0

--查询 上月

select * from tableA where DateDiff(mm,VoucherDate,getdate())= 1

--查询 本年

select * from tableA where DateDiff(yy,VoucherDate,getdate())= 0

--查询 上一年

select * from tableA where DateDiff(yy,VoucherDate,getdate())= 1

这可能需要自定义一个过程procedure了

delimiter $$

drop procedure  if exists wk

create procedure wk()

begin  

declare i int 

set i = 1 

while i <= 7 do  

select date_add(date_sub("2018-09-03",interval 7 day),interval i day)

set i = i + 1

end while

end $$ 

delimiter  

call wk()

注意

date_sub()是减少日期的函数

date_add()是增加日期的函数

获取当前时间函数 select getdate()

获取去年这一天 select dateadd(year, -1, getdate())

获取去年这一天的前7天select dateadd(day, -7, dateadd(year, -1, getdate()))

要获取去年这7天的数据,可以用上面的函数去组合查询。

但是,在查询条件里面使用函数这种方式很影响查询效率。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9603218.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存