Как обрабатывать нулевое значение даты с количеством дней, месяцев или года - PullRequest
0 голосов
/ 13 июня 2019

Я создаю отчет, для которого мне нужно указать дату истечения срока действия, но если дата истечения срока равна нулю, это означает, что я должен показывать числовые значения, такие как дни, месяцы или годы

 Nvl(To_Char(b.Charter_Start_Date, 'DD/MM/RR') || '-' ||
       To_Char(b.Charter_End_Date, 'DD/MM/RR',Charter_Period_min || ' ' 
       ||Charter_Period_Max ) "EXPIRY DATE",

когда дата начала и дата окончания равна нулю, значит Я должен показать 30 дней или 4 месяца или 2 года

1 Ответ

0 голосов
/ 13 июня 2019

Я думаю, что вижу, что вы хотите сделать, но ваш NVL () не будет работать в этом случае, потому что первый аргумент - это строка, включающая '-', которая никогда не будет нулевой.Попробуйте что-то вроде этого.

CASE when b.Charter_End_Date is not null 
     then To_Char(b.Charter_Start_Date, 'DD/MM/RR') || '-' || To_Char(b.Charter_End_Date, 'DD/MM/RR')
     else Charter_Period_min|| ' ' ||Charter_Period_Max
   END "EXPIRY DATE",
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...