Convertir JSON a SQL Server
Suelta tu archivo JSON y obtén un script de SQL Server con sentencias CREATE TABLE e INSERT. Cada columna recibe un tipo, y cada corrección se detalla con su fila y columna.
4 filas convertidas, 2 correcciones, ninguna rechazada
| Fila | ||||||
|---|---|---|---|---|---|---|
| 2 | 000481 | Peña Muñoz | 2024-02-03T10:15:00Z | 1234.5 | true | |
| 3 | 000482 | José Ángel Ruiz | 2024-02-15T16:40:00Z | 99.9 | false | Entrega en la tarde |
| 4 | 000483 | Zoë Ortíz | 2024-02-29T09:05:00Z | 12 | true | |
| 5 | 000484 | Ñuño Castañeda | 2024-03-11T13:30:00Z | 980.75 | sí | Factura con "RFC" |
-- Written by IntoSQL for SQL Server.
SET NOCOUNT ON;
BEGIN TRANSACTION;
CREATE TABLE pedidos_2024 (
pedido nvarchar(8) NOT NULL,
cliente nvarchar(16) NOT NULL,
fecha datetimeoffset NOT NULL,
total decimal(6,2) NOT NULL,
pagado bit NOT NULL,
notas nvarchar(32)
);
INSERT INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES
(N'000481', N'Peña Muñoz', '2024-02-03T10:15:00+00:00', 1234.5, 1, NULL),
(N'000482', N'José Ángel Ruiz', '2024-02-15T16:40:00+00:00', 99.9, 0, N'Entrega en la tarde'),
(N'000483', N'Zoë Ortíz', '2024-02-29T09:05:00+00:00', 12, 1, NULL),
(N'000484', N'Ñuño Castañeda', '2024-03-11T13:30:00+00:00', 980.75, 1, N'Factura con "RFC"');
COMMIT TRANSACTION;
Correcciones
- Se conservaron los ceros a la izquierda en "pedido": 000481 sigue siendo 000481, guardado como texto.
- "pagado" contiene palabras de sí y no (sí); se guarda como booleano.
Tu archivo se convierte en esta computadora y nunca se sube.
Otros ejemplos:
De JSON a SQL Server, columna por columna
El ejemplo de arriba, pedidos_2024.json, tal como IntoSQL lo escribe para SQL Server: qué contiene cada columna en el archivo, qué tipo recibe y cómo queda su primer valor en el script.
| En el archivo | Primer valor | Columna | Tipo en SQL Server | En el script |
|---|---|---|---|---|
| pedido | 000481 | pedido | nvarchar(8) | N'000481' |
| cliente | Peña Muñoz | cliente | nvarchar(16) | N'Peña Muñoz' |
| fecha | 2024-02-03T10:15:00Z | fecha | datetimeoffset | '2024-02-03T10:15:00+00:00' |
| total | 1234.5 | total | decimal(6,2) | 1234.5 |
| pagado | true | pagado | bit | 1 |
| notas | - | notas | nvarchar(32) | NULL |
Carga el script en SQL Server
La descarga es un archivo .sql simple. Ejecútalo con las herramientas propias de SQL Server.
Desde una terminal
sqlcmd -S localhost -d mydb -f 65001 -i pedidos_2024.sql_server.sql-f 65001 lee el archivo como UTF-8, así que los acentos y la ñ llegan tal como están escritos.
Desde una herramienta de base de datos
En SQL Server Management Studio o Azure Data Studio, abre el archivo y elige Execute.
Qué saber sobre los archivos JSON y SQL Server
Qué lee IntoSQL en los archivos JSON
- El archivo puede ser un arreglo de objetos, un objeto que guarda ese arreglo bajo una clave como data, o un objeto por línea (NDJSON).
- Cada clave se vuelve una columna. Los objetos y arreglos dentro de un valor se guardan como texto JSON.
- Los números conservan sus dígitos exactos, y las fechas ISO 8601 se vuelven fechas o marcas de tiempo.
Qué saber sobre SQL Server
- El texto es nvarchar con valores N'...', así que los acentos se conservan; el texto de más de 4000 caracteres se vuelve nvarchar(max).
- Los valores sí y no se vuelven bit, y las fechas con zona horaria se vuelven datetimeoffset.
- Los valores largos se escriben en partes, así que sqlcmd y SQL Server Management Studio aceptan el script.
Cómo se guarda cada tipo de valor en SQL Server
| Valor | SQL Server |
|---|---|
| Sí y no | bit |
| Números enteros | int |
| Números enteros grandes | bigint |
| Decimales | decimal(p,s) |
| Números de punto flotante | float |
| Fechas | date |
| Horas del día | time |
| Fechas con hora | datetime2 |
| Fechas con hora y zona horaria | datetimeoffset |
| Texto | nvarchar(n)nvarchar(max) |
Preguntas sobre JSON a SQL Server
¿No encuentras la respuesta? Escríbenos desde la página de contacto y te responde una persona. Página de contacto
¿Cómo convierto JSON a SQL Server?
Suelta tu archivo en el convertidor al inicio de esta página. Encuentra el encabezado, lee cada valor y escribe el script de SQL Server, con la lista de cada corrección que hizo. Descarga el script y ejecútalo con sqlcmd.
¿Qué forma debe tener el archivo JSON?
Un arreglo de objetos, un objeto que guarda ese arreglo bajo una clave como data, o un objeto por línea (NDJSON). Cada clave se vuelve una columna.
¿Qué tipos de SQL Server usa?
Los valores sí y no pasan a bit, los enteros a int, los decimales a decimal(p,s), las fechas a date, las fechas con hora a datetime2 y el texto a nvarchar(n). Los tamaños salen del valor más largo de cada columna.
¿Conserva los ceros a la izquierda en SQL Server?
Sí. Un código como 000481 se queda como texto, así que SQL Server lo guarda como nvarchar(8) y el script lo escribe como N'000481'.
¿Puede cargar los datos en SQL Server sin un script?
No. Descarga el script y ejecútalo con sqlcmd. La carga sin script funciona con PostgreSQL, MySQL, MariaDB y SQLite, desde la app de escritorio o la línea de comandos.
¿Qué tan grande puede ser el archivo JSON?
NDJSON, un objeto por línea, se lee a medida que llega, así que en el navegador funcionan archivos de varios gigabytes. Un documento JSON se lee completo, así que su límite es la memoria que el navegador le da a esta página. La app de escritorio y la línea de comandos aceptan archivos de cualquier tamaño.