sql >> Base de Datos >  >> RDS >> PostgreSQL

Postgres array json fecha reciente

demostración paso a paso:db<>fiddle

SELECT 
    elem.value ->> 'date' as thedate,
    elem.value ->> 'note' as note
FROM t,
    json_array_elements(data) elem                                  -- 1 
WHERE id = 4123
ORDER BY to_timestamp(elem ->> 'date', 'DD/MM/YYYY HH24:MI') DESC   -- 2
LIMIT 1                                                             -- 3
  1. Extrae todos los elementos de la matriz en una fila
  2. Leer cadena de fecha y hora de date campo, conviértalo en marca de tiempo y utilícelo para ordenar todos los elementos de la matriz con la marca de tiempo más reciente primero
  3. Simplemente devuelve el primer elemento de la matriz (=el más reciente).