您的位置:首页 > 博客中心 > 数据库 >

db2中如何获取当前日期前一周的日期

时间:2022-03-14 04:11

SELECT CURRENT_DATE - (DAYOFWEEK(CURRENT_DATE) - 2 + (ROW_NUMBER() OVER (ORDER BY 1) ) ) DAY AS result FROM SYSIBM.SYSCOLUMNS fetch first 7 rows only; 输出结果: 2013-03-24 2013-03-23 2013-03-22 2013-03-21 2013-03-20 2013-03-19 2013-03-18 你可以看情况, 自己再做一下排序。 追问 稍作修改可以查出你所说的结果 只不过你这方法是查询出上周之前的所有日期,然后取前7条,这样的话怎么排序呢 还请指教! 回答 唉, 本来我想偷懒的...... 看来还是要自己写啊 ... SELECT CURRENT_DATE - (DAYOFWEEK(CURRENT_DATE) - 1) DAY - 7 DAY + (ROW_NUMBER() OVER (ORDER BY 1) ) DAY AS result FROM SYSIBM.SYSCOLUMNS fetch first 7 rows only; 查询结果: 2013-03-18 2013-03-19 2013-03-20 2013-03-21 2013-03-22 2013-03-23 2013-03-24 注: DAYOFWEEK 是查询, 日期是当前周的 第几天。 (周日是第一天) CURRENT_DATE - (DAYOFWEEK(CURRENT_DATE) - 1) DAY 是获取本周的第一天 (也就是 星期天 3月24号) CURRENT_DATE - (DAYOFWEEK(CURRENT_DATE) - 1) DAY - 7 DAY 是 获取上周的第一天 (也就是 上周的 星期天 3月17号) CURRENT_DATE - (DAYOFWEEK(CURRENT_DATE) - 1) DAY - 7 DAY + (ROW_NUMBER() OVER (ORDER BY 1) ) DAY 是 从上周星期天 开始 , 每行数据 + 1天。 也就是从 3月18号是第1行, 3月19号是第2行 fetch first 7 rows only; 是只检索 7行。

热门排行

今日推荐

热门手游