sql >> Base de Datos >  >> RDS >> Oracle

Oracle SQL:selección de una sola fila con la fecha más reciente entre varias columnas

Creo que la estructura que quieres es esta:

select id
from (SELECT ID
      FROM EXAMPLE_TABLE
      order by GREATEST(CREATE_DATE, UPDATE_DATE) desc
     )
where rownum = 1

Sin embargo, supongo que es posible que una de las fechas sea NULA. Si es así:

select id
from (SELECT ID
      FROM EXAMPLE_TABLE
      order by coalesce(GREATEST(CREATE_DATE, UPDATE_DATE), CREATE_DATE) desc
     )
where rownum = 1

Estas consultas se ordenan por el mayor de los dos valores en cada fila y luego seleccionan el valor máximo.