Efectivamente, pero solo funciona cuando se envia un elemento en el json:
>> '{id:1, nombre:"pedro"}'
Cuando se envia una coleccion no funciona
>> '[{id:1,nombre:"pedro"}, {id:2, nombre: "juan"}]'
Saludos.Bach. Ing. de Sistemas Pedro Ricardo Pejerrey Gómez------------------------------------------------------------------------Área de TI en Provias Nacional - Zonal Piura - TumbesAnalista Programador && DBAFreeLancer MVC Date: Fri, 9 May 2014 17:15:24 -0600 From: [email protected] To: [email protected] CC: [email protected] Subject: Re: [pgsql-es-ayuda] Capturar ID's de JSON y mostrarlos en una LINEA separados por "," Hola Pedro, hice un ejemplo simple, no se si te pueda orientar: CREATE FUNCTION pedro(IN in_matriz json DEFAULT NULL::json) RETURNS character varying AS $$ declare salida text; begin select in_matriz->'id' into salida; return salida; end; $$ LANGUAGE plpgsql VOLATILE ; select pedro('{"id":1, "nombre": "pedro"}') retorna 1 la funcion saludos El 5/9/2014 2:48 PM, Pedro PG escribió: El valor para el json lo recibe una funcion de la siguiente forma: >> CREATE OR REPLACE FUNCTION fn_mantenimiento_ETC(IN in_matriz json DEFAULT NULL::json) La versión de PostgreSQL: >> PostgreSQL 9.3 Si he visto que hay varias funciones pero aun no logro llegar a la solución. Gracias por el tiempo. Bach. Ing. de Sistemas Pedro Ricardo Pejerrey Gómez ------------------------------------------------------------------------ Área de TI en Provias Nacional - Zonal Piura - Tumbes Analista Programador && DBA FreeLancer MVC Date: Fri, 9 May 2014 16:42:15 -0600 From: [email protected] To: [email protected] CC: [email protected] Subject: Re: [pgsql-es-ayuda] Capturar ID's de JSON y mostrarlos en una LINEA separados por "," Hola Pedro: Almacenas los JSON con el tipo de dato JSON de PostgreSQL? Que versión de PostgreSQL estas utilizando?, pues la 9.3 tiene mejoras con los operadores y funciones para obtener detalles de los documentos JSON saludos El 5/9/2014 2:08 PM, Pedro PG escribió: Buen día lista, verán tengo el siguiente json: >> '[{id:1, nombre: "pedro"},{id:2, nombre: "juan"}, {id:10, nombre: "carlos"}]' Deseo que por medio de alguna instrucción me devuelva los id de cada tupla, mas o menos así: >> 1, 2, 10 de forma tal que lo pueda usar en una instrucción EXECUTE >> EXECUTE CONCAT('SELECT * FROM tabla WHERE id_dato IN (', aquí ira la variable que contenga lo que necesito,')') Gracias desde ya. Bach. Ing. de Sistemas Pedro Ricardo Pejerrey Gómez ------------------------------------------------------------------------ Área de TI en Provias Nacional - Zonal Piura - Tumbes Analista Programador && DBA FreeLancer MVC VII Escuela Internacional de Verano en la UCI del 30 de junio al 11 de julio de 2014. Ver www.uci.cu VII Escuela Internacional de Verano en la UCI del 30 de junio al 11 de julio de 2014. Ver www.uci.cu
