застрял на дате функции в Presto SQL - PullRequest
0 голосов
/ 19 мая 2019

Я застрял на функции даты в моем коде:

try(date_parse(min(MilestoneDate), '%Y-%m-%d %H:%i:%s')) >  CURRENT_DATE

Сообщение об ошибке: общая внутренняя ошибка. Я не знаю, что это значит. Если я закомментирую 'try (date_parse (min (MilestoneDate),'% Y-% m-% d% H:% i:% s '))> CURRENT_DATE', весь код работает. Но мне это действительно нужно, исходя из требований. Я также пытаюсь: иметь DATE (SUBSTR (min (finishdate), 1, 10))> CURRENT_DATE. Но сообщение об ошибке: не могу привести к дате. Пожалуйста помоги. Спасибо.

With ManagementView1 as (

select * from Management_View a


left join


(select *
 from

(select projectobjectid, id as activity_id,finishdate as MilestoneDate, name as Milestone
 from activity 
 where date = (select max(date) from activity)
 union ALL 
 select projectobjectid, id as activity_id, min(finishdate) as finishdate, 
 name
 from activity 
 where id in ('FS1000', 'PR1000', 'PR1500')

 group by projectobjectid, id, name)
) b

ON  try_cast(a.objectid as double) = b.projectobjectid 
 AND a.id = b.activity_id 
)    

select * from

    (
        select site, building, id, milestonetype, MilestoneDate, Milestone 
         from ManagementView1

         WHERE  milestonetype in ('Breakground', 'Energization')

        UNION ALL 

       select site, building, id, milestonetype, min(MilestoneDate) as 
        MilestoneDate,  Milestone

        from ManagementView1 

        where milestonetype = 'PR'

       having try(date_parse(min(MilestoneDate), '%Y-%m-%d %H:%i:%s')) > 
       CURRENT_DATE


       --having DATE(SUBSTR(min(finishdate), 1, 10)) > CURRENT_DATE

         -- and milestonetype = 'PR'
        group by site, building, id, milestonetype, Milestone


    ) c

1 Ответ

0 голосов
/ 19 мая 2019

Я не думаю, что try() работает с date_parse() - даже если это так, он не улавливает все ошибки.Но это должно работать с cast().Итак, попробуйте это:

DATE(SUBSTR(MIN(finishdate), 1, 10))

MIN(TRY(CAST(SUBSTR(MilestoneDate, 1, 10) as date))) > CURRENT_DATE
...