Oracle中查询今天、本周等数据

查询今天的数据:

select * from book where to_char(book_date, 'YYYY-MM-DD') = to_char(sysdate, 'YYYY-MM-DD')

查询昨天的数据:

select * from book where to_char(book_date, 'YYYY-MM-DD') = to_char(sysdate-1, 'YYYY-MM-DD')

查询本周数据:

select * from book where book_date >= trunc(next_day(sysdate-8,1)+1) and book_date < trunc(next_day(sysdate-8,1)+7)+1

注意在mybatis-plus里,用表示&gt;大于号,用&lt;表示小于号。
查询上周数据:

select * from book where book_date >= trunc(next_day(sysdate-8,1)-6) and book_date < trunc(next_day(sysdate-8,1)+1)

查询本月数据:

select * from book where to_char(book_date, 'YYYY-MM') = to_char(sysdate, 'YYYY-MM') 

查询上月数据:

select * from book where to_char(book_date, 'YYYY-MM') = to_char(add_months(sysdate-1), 'YYYY-MM') 

注:next_day(sysdate, 1)函数为当前系统时间的下个星期日时间,数字1代表星期日

转载自https://blog.csdn.net/rexueqingchun/article/details/83412131?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task