Проблема DB2 с CASE и добавление дней к дате - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь получить выборку записей, где поле даты записи (й) является текущей датой + 7 дней

Ранее я делал это в MySQL примерно так:

SUM(CASE WHEN ( d.next_date + INTERVAL 7 DAY) THEN 1 ELSE 0 END) AS dateCount

Но теперь, пытаясь сделать это в DB2, это не работает

SUM(case WHEN f.next_date + 7 days then 1 else 0 end) as dateCount

Мне интересно, почему это так, но я просто пытаюсь подсчитать все записи, где дата сегодня + 7 дней.

Что я делаю не так

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Попробуйте это:

select sum(case when f.next_date = current date + 7 day then 1 end) as dateCount
from table(values
  current date + 1 day
, current date + 7 day
, current date + 7 day
) f(next_date);
0 голосов
/ 23 января 2019

Выражение вашего регистра без сравнения , например when (some_value is compared to other_value) then do_something .... Возможно, равный?

SUM(case when <i>{date field of the record} =</i> f.next_date + 7 days then 1 else 0 end) as dateCount
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...