Oracle数据库条件查询今天、昨天、本周、上周、本月、上月、近几天等数据

TABLE_NAME代表表名 TABLE_TIME为时间类型的字段

查询今天

-- 今天
SELECT COUNT(1) FROM TABLE_NAME WHERE TO_CHAR(TABLE_TIME,'YYYY-MM-DD')=TO_CHAR(SYSDATE,'YYYY-MM-DD')

查询昨天

-- 昨天
SELECT COUNT(1) FROM TABLE_NAME WHERE TO_CHAR(TABLE_TIME,'YYYY-MM-DD')=TO_CHAR(SYSDATE-1,'YYYY-MM-DD')

查询本周

-- 本周 NEXT_DAY(SYSDATE,1)函数为当前数据库时间的下个星期日时间,数字1表示为星期日
SELECT COUNT(1) FROM TABLE_NAME WHERE TABLE_TIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)+1) AND TABLE_TIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1

查询上周

-- 上周 NEXT_DAY(SYSDATE,1)函数为当前数据库时间的下个星期日时间,数字1表示为星期日
SELECT COUNT(1) FROM TABLE_NAME WHERE TABLE_TIME >= TRUNC(NEXT_DAY(SYSDATE-8,1)-6) AND TABLE_TIME < TRUNC(NEXT_DAY(SYSDATE-8,1)+1)

查询本月

-- 本月
SELECT COUNT(1) FROM TABLE_NAME WHERE TO_CHAR(TABLE_TIME,'YYYY-MM')=TO_CHAR(SYSDATE,'YYYY-MM')

查询上月

-- 上月
SELECT COUNT(1) FROM TABLE_NAME WHERE TO_CHAR(TABLE_TIME,'YYYY-MM')=TO_CHAR(ADD_MONTHS(SYSDATE,-1),'YYYY-MM')

查询近几天

-- 其中 30 代表查询近30天数据
SELECT COUNT(1) FROM TABLE_NAME WHERE TABLE_TIME BETWEEN SYSDATE-30 AND SYSDATE
© 版权声明
THE END
喜欢就支持一下吧
点赞0打赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容