Дата - пред. год и текущий = sysdate - PullRequest
0 голосов
/ 05 ноября 2018

Итак, я хочу добавить следующий «интервал» в качестве условия:

SELECT sum(x.count) FROM x WHERE

Ток:

TO_CHAR(x.date,'YYYYW') = TO_CHAR(SYSDATE,'YYYYW')

ВЫВОД:

20181 = 20181

Я хочу что-то вроде этого:

(TO_CHAR(x.date,'YYYYW') and TO_CHAR(x.date-365,'YYYYW'))  = (TO_CHAR(SYSDATE,'YYYYW') and TO_CHAR(SYSDATE-365,'YYYYW'))

Ожидаемый результат:

20171 and 20181 = 20181
20172 and 20182 = 20182
and so on...

to_char (DATE, 'W') не очень хорошо, потому что у меня есть даты старше, чем 2017 ... и я не хочу их выбирать.

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Вы ищете что-то подобное?

WHERE (TO_CHAR(x.date, 'YYYYW') = TO_CHAR(SYSDATE,'YYYYW')) OR
      (TO_CHAR(x.date, 'YYYYW') = TO_CHAR(SYSDATE - 365, 'YYYYW'))
0 голосов
/ 05 ноября 2018

Я не совсем уверен, что вы действительно хотите сделать, но не могли бы вы просто использовать следующий запрос:

SELECT sum(x.count) FROM x WHERE x.date >= trunc(sysdate, 'W')

trunc(sysdate, 'W') дает вам начало недели как дату, а затем вы просто суммируете по всем более новым даторам ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...