PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgres-Array json letztes Datum

Schritt-für-Schritt-Demo: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. Alle Array-Elemente in eine Zeile extrahieren
  2. Datetime-String aus date lesen Feld, konvertieren Sie es in einen Zeitstempel und verwenden Sie es, um alle Array-Elemente mit dem neuesten Zeitstempel zuerst anzuordnen
  3. Geben Sie einfach das allererste (=neuste) Array-Element zurück.