Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle SQL:Selecionando uma única linha com a data mais recente entre várias colunas


Acho que a estrutura que você quer é essa:
select id
from (SELECT ID
      FROM EXAMPLE_TABLE
      order by GREATEST(CREATE_DATE, UPDATE_DATE) desc
     )
where rownum = 1

No entanto, suponho que é possível que uma das datas seja NULL. Se for assim:
select id
from (SELECT ID
      FROM EXAMPLE_TABLE
      order by coalesce(GREATEST(CREATE_DATE, UPDATE_DATE), CREATE_DATE) desc
     )
where rownum = 1

Essas consultas são ordenadas pelo maior dos dois valores em cada linha e, em seguida, selecionando o valor máximo.