Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle SQL:Избиране на един ред с най-новата дата между множество колони

Мисля, че желаната от вас структура е следната:

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

Предполагам обаче, че е възможно една от датите да е NULL. Ако е така:

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

Тези заявки подреждат по по-голямата от двете стойности на всеки ред и след това избират максималната стойност.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle + dbunit получава AmbiguousTableNameException

  2. Липсва дясна скоба при SQL команда за създаване на таблица

  3. Как мога да променя NLS_DATE_FORMAT в PHP

  4. Оператори на набор от Oracle

  5. Какво всъщност използва LISTAGG с ORDER BY NULL като критерии за поръчка?