如何获取最近30天的总周数

时间:2019-10-29 12:31:30

标签: sql oracle

我想获取过去30天(4或5)的星期数。

我有一个返回数字的查询。我想将此数字除以过去30天的“周数” ...

例如:

trunc(sysdate,'W') --is not option, because it's a week number..

今天是2019年10月29日。 Sysdate-30是2019年9月29日。    我想知道sysdate和sysdate -30之间有几周。

最简单的解决方案是什么?

1 个答案:

答案 0 :(得分:2)

这就是我对这个问题的理解;使用iw格式的掩码,而不使用w

SQL> select to_number(to_char(sysdate, 'iw')) - to_number(to_char(sysdate - 30, 'iw')) result
  2  from dual;

    RESULT
----------
         5

SQL>