Herramientas de bases de datos y SQL

Analizador de arrays PostgreSQLy revisión de intervalos

Pega un valor de array o intervalo sin envoltorio SQL y comprueba su estructura sin ejecutar consultas.

Analizador de arrays PostgreSQL

Valor PostgreSQL sin procesar

Informe JSON

Los valores se procesan en este navegador, sin subirlos, conectar a una base ni realizar solicitudes de red.

Opciones de entrada

Pega el valor sin comillas SQL exteriores ni conversiones. Los elementos distintos de NULL siguen siendo cadenas; los campos del intervalo quedan separados.

65.536 caracteres · 10.000 elementos · 6 dimensiones · segundos con hasta 6 decimales

Dimensiones: 2 · elementos: 6 · NULL: 1

Un analizador de arrays PostgreSQL resulta útil cuando un controlador devuelve una cadena entre llaves en lugar de un array de JavaScript. Separar por comas no basta si un elemento contiene una coma o comillas escapadas.

El ejemplo permite distinguir NULL, el texto "NULL" y una cadena vacía. Para interpretar un intervalo, selecciona primero el formato usado por la base de origen: el alcance de un signo negativo depende de esa elección.

Por qué usar este analizador de arrays PostgreSQL

Conserva los índices originales

Este analizador de arrays PostgreSQL muestra los valores anidados y la longitud y los límites de cada dimensión. Si el array comienza en cero o en un índice negativo, los metadatos lo conservan aunque JSON no represente directamente esos límites.

Dos filas de tres celdas mantienen su agrupación y distinguen un valor ausente del texto entre comillas

Separa calendario y tiempo de reloj

Un mes no equivale siempre al mismo número de segundos. El intervalo PostgreSQL mantiene meses, días y microsegundos por separado, incluso cuando sus signos difieren. Así puedes revisar la representación antes de convertirla con un contexto temporal concreto.

Un intervalo se divide en calendario mensual, casilla de día y reloj de precisión

Detalles que conviene revisar primero

01

Cambiar el tipo conserva la entrada

Elige array o intervalo en las opciones bajo los editores. El cambio modifica las reglas sin reemplazar el texto. El ejemplo ofrece una vista previa del valor apropiado para el modo y su número de caracteres antes de aplicarlo.

02

Lee los límites y los signos

La primera dimensión del ejemplo empieza en cero. Comprueba dimensions y nullCount en el JSON. En sql_standard, un único signo negativo inicial puede alcanzar también a los días y al tiempo siguientes; elige el formato de origen expresamente.

03

Decide cuándo actualizar el resultado

El análisis automático espera 350 ms tras el último cambio. Al desactivarlo puedes usar el botón o Ctrl/Cmd+Enter. Los cambios bloquean la exportación al instante. Los informes largos se muestran de 100 en 100 líneas, pero se exportan completos.

Estructura y valores sin suposiciones

Sin convertir los tipos por su apariencia

Al pasar un array de Postgres a JSON, valores como 001 o enteros muy grandes siguen siendo cadenas. El literal de array no aporta el tipo de columna. Un array multidimensional debe ser rectangular; las filas desiguales generan un error sin rellenarlas ni aplanarlas.

Comillas y barras inversas

El lector reconoce delimitadores protegidos, comillas escapadas, barras inversas y espacios protegidos. Solo NULL sin comillas ni escape se convierte en JSON null. "NULL", un NULL escapado y una cadena vacía se mantienen como valores de texto distintos.

Cuatro formatos con campos exactos

Puedes elegir postgres, postgres_verbose, sql_standard o iso_8601. Los campos de calendario deben ser enteros; los segundos admiten hasta seis decimales. La aritmética entera conserva la precisión y los tres campos se exportan como cadenas decimales.

Sintaxis admitida y límites

Introduce únicamente el valor interior
Se admite {...}, con límites opcionales, o un intervalo aislado. Se rechazan sentencias SQL, constructores ARRAY, comillas simples exteriores, E-strings, conversiones de tipo y calificadores de campo. No hay conexiones a bases, importación de archivos ni consultas a URL.
Se valida la estructura, no el tipo del elemento
La coma es el separador predeterminado; usa punto y coma para arrays de estilo box. Los límites deben ser válidos y coincidir con la forma real. Los arrays anidados vacíos se normalizan a un array vacío sin dimensiones. No se interpretan OID, separadores personalizados ni array_nulls=off.
La gramática de intervalos es limitada
Usa formas similares a la salida del formato elegido. No se aceptan fracciones de meses, días, horas o minutos, infinito, notación ISO alternativa, unidades desconocidas ni números distintos de cero sin unidad. Los segundos con más de seis decimales se rechazan sin redondeo. No se calcula un total de segundos ni se convierte a Temporal.
Límites sin resultados recortados
Cada valor puede tener hasta 65.536 caracteres JavaScript, 10.000 elementos y seis dimensiones. Meses y días deben caber en enteros de 32 bits con signo; microsegundos, en 64 bits con signo. Cualquier error bloquea la exportación en vez de devolver solo una parte del resultado.

Preguntas del analizador de arrays PostgreSQL

¿Cómo convertir un array de PostgreSQL recibido como texto en un array de JavaScript?

Si el controlador devuelve texto entre llaves, analízalo en modo array y consulta el campo values del JSON. Los elementos con apariencia numérica seguirán siendo cadenas. Si necesitas los índices originales, conserva también dimensions, porque un array de JavaScript no almacena los límites de PostgreSQL.

¿Cómo se trata NULL en un array de PostgreSQL?

NULL sin comillas ni escape se convierte en JSON null sin distinguir mayúsculas. "NULL" es texto y "" una cadena vacía. nullCount indica cuántos elementos son nulos. Un SQL NULL aislado no es un literal de array aquí; para un array vacío se utiliza {}.

¿Por qué aparece malformed array literal al insertar un array multidimensional?

Todas las dimensiones deben tener extensiones iguales. {{a,b},{c}} contiene filas de dos y un elemento, por lo que se rechaza. La herramienta no añade celdas ni aplana filas. Corrige el origen y comprueba que los límites declarados también correspondan a la forma resultante.

¿Cómo se escapan las comillas dobles de un array para PostgreSQL COPY?

La codificación exterior de COPY o CSV es una capa distinta de la sintaxis del array. Aquí solo se interpreta el array interior. Dentro de un elemento entre comillas, antepone una barra inversa a cada comilla doble o barra inversa. Elimina primero la codificación exterior de CSV o SQL.

¿Por qué convertir un intervalo PostgreSQL a segundos produce valores inesperados?

Los meses no tienen una duración fija y un día de calendario puede cruzar un cambio de horario. Sumar esos campos con una conversión constante puede diferir del tiempo realmente transcurrido. Este informe los conserva por separado; para calcular segundos transcurridos hacen falta fechas concretas.

¿Cómo representar 1 day 01:30:00 como 25:30:00?

Puedes reformatearlo con SQL fuera de esta herramienta, pero eso incorpora los días al campo de horas. Aquí 1 day 01:30:00 conserva days="1" y microseconds="5400000000". En cambio, 25:30:00 produce days="0" y microseconds="91800000000", manteniendo la diferencia estructural.

¿Te queda alguna duda?

Comprueba el siguiente valor

Este analizador de arrays PostgreSQL permite revisar los límites y valores. Para intervalos, selecciona el formato y compara los tres campos antes de exportar JSON.

Un literal por análisis; sin reparación automática.