Я работаю над веб-приложением, которое использует Oracle 12c для RDMS.
Я остановился на том, чего я пытаюсь достичь, и поэтому ищу некоторую помощь / руководство по решению моей проблемы.
У меня есть следующий оператор SQL, который выполняется, но возвращает нулевые значения:
CASE MRI.REVIEW_NAME
WHEN 'wk1' THEN COALESCE(A.DC_CLASSIFICATION_DATE,A.DC_TRANSFER_DATE) + 7
WHEN 'wk2' THEN COALESCE(A.DC_CLASSIFICATION_DATE,A.DC_TRANSFER_DATE) + 14
WHEN 'wk3' THEN COALESCE(A.DC_CLASSIFICATION_DATE,A.DC_TRANSFER_DATE) + 21
WHEN 'wk4' THEN COALESCE(A.DC_CLASSIFICATION_DATE,A.DC_TRANSFER_DATE) + 28
WHEN 'wk5' THEN COALESCE(A.DC_CLASSIFICATION_DATE,A.DC_TRANSFER_DATE) + 35
WHEN 'wk6' THEN COALESCE(A.DC_CLASSIFICATION_DATE,A.DC_TRANSFER_DATE) + 42
WHEN 'wk7' THEN COALESCE(A.DC_CLASSIFICATION_DATE,A.DC_TRANSFER_DATE) + 49
WHEN 'wk8' THEN COALESCE(A.DC_CLASSIFICATION_DATE,A.DC_TRANSFER_DATE) + 56
WHEN 'wk9' THEN COALESCE(A.DC_CLASSIFICATION_DATE,A.DC_TRANSFER_DATE) + 63
WHEN 'wk10' THEN COALESCE(A.DC_CLASSIFICATION_DATE,A.DC_TRANSFER_DATE) + 70
WHEN 'wk11' THEN COALESCE(A.DC_CLASSIFICATION_DATE,A.DC_TRANSFER_DATE) + 77
WHEN 'wk12' THEN COALESCE(A.DC_CLASSIFICATION_DATE,A.DC_TRANSFER_DATE) + 84
END AS REVIEW_END_DATE,
Возможно ли это сделать, во всех найденных мной примерах используется строковое значение после THENа не колонка манипуляций?Пожалуйста, не PL / SQL-ответы, только SQL.
Хорошо, обновление, данные вызывали проблему и теперь работают как положено.Спасибо, что узнал кое-что об утверждении Oracle Case, которое, по моему мнению, было невозможно.
Любая помощь приветствуется.JC