Aquesta és una revisió antiga del document —-

SQL JSON

Extraer información de JSON almacenado en campo SQL:

SELECT id,JSON_EXTRACT(valor,'$.periode') AS periode
FROM treballadors_registrejornada
WHERE periode = "01-2020"
SELECT id FROM treballadors_registrejornada 
WHERE valor->>'$.periode' = '01-2020';

["01-2020", "02-2020", "03-2020"]
-- Extrae el primer elemento de la lista
SELECT id, JSON_EXTRACT(valor, '$[0]') AS primer_periodo 
FROM treballadors_registrejornada;
-- Devuelve solo las filas donde "01-2020" esté dentro de la lista
SELECT id FROM treballadors_registrejornada 
WHERE JSON_CONTAINS(valor, '"01-2020"');
SELECT id, JSON_LENGTH(valor) AS total_periodos 
FROM treballadors_registrejornada;
UPDATE treballadors_registrejornada 
SET valor = JSON_ARRAY_APPEND(valor, '$', '04-2020') WHERE id = 1;
SET valor = JSON_ARRAY_INSERT(valor, '$[1]', '01-2021')
SET valor = JSON_REMOVE(valor, '$[0]') -- Borra el primer elemento
SELECT t.id, j.periode
FROM treballadors_registrejornada t
CROSS JOIN JSON_TABLE(
    t.valor,
    '$[*]' COLUMNS (
        periode VARCHAR(20) PATH '$'
    )
) AS j
WHERE j.periode = "01-2020";
 
  • bbdd/sql/json.1783682361.txt.gz
  • Darrera modificació: 10/07/2026 13:19
  • per mate