Vai al contenuto

Convertire JSON in SQL Server

Trascina il tuo file JSON per ottenere uno script SQL Server con istruzioni CREATE TABLE e INSERT. Ogni colonna riceve un tipo e ogni correzione è elencata con la sua riga e colonna.

Il tuo file
jsonpedidos_2024.jsonFile di esempio, 771 B
Il tuo database

4 righe convertite, 2 correzioni, nessuna rifiutata

Mostra
Le prime righe di pedidos_2024.json, con ogni correzione segnata
Riga
2000481Peña Muñoz2024-02-03T10:15:00Z1234.5true
3000482José Ángel Ruiz2024-02-15T16:40:00Z99.9falseEntrega en la tarde
4000483Zoë Ortíz2024-02-29T09:05:00Z12true
5000484Ñuño Castañeda2024-03-11T13:30:00Z980.75sí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;

Correzioni

  1. Zeri iniziali mantenuti in "pedido": 000481 resta 000481, salvato come testo.
  2. "pagado" contiene parole sì e no (sí), salvate come booleano.

Il tuo file viene convertito su questo computer e non viene mai caricato.

Altri esempi:

Da JSON a SQL Server, colonna per colonna

L'esempio qui sopra, pedidos_2024.json, come IntoSQL lo scrive per SQL Server: cosa contiene ogni colonna nel file, il tipo che riceve e come il suo primo valore finisce nello script.

Nel filePrimo valoreColonnaTipo SQL ServerNello script
pedido000481pedidonvarchar(8)N'000481'
clientePeña Muñozclientenvarchar(16)N'Peña Muñoz'
fecha2024-02-03T10:15:00Zfechadatetimeoffset'2024-02-03T10:15:00+00:00'
total1234.5totaldecimal(6,2)1234.5
pagadotruepagadobit1
notas-notasnvarchar(32)NULL

Carica lo script in SQL Server

Il download è un semplice file .sql. Eseguilo con gli strumenti di SQL Server.

Da un terminale

sqlcmd -S localhost -d mydb -f 65001 -i pedidos_2024.sql_server.sql

-f 65001 legge il file come UTF-8, così accenti e ñ arrivano come sono scritti.

Da uno strumento per database

In SQL Server Management Studio o Azure Data Studio, apri il file e scegli Execute.

Cosa sapere sui file JSON e su SQL Server

Cosa legge IntoSQL nei file JSON

  • Il file può essere un array di oggetti, un oggetto che contiene quell'array sotto una chiave come data, oppure un oggetto per riga (NDJSON).
  • Ogni chiave diventa una colonna. Oggetti e array dentro un valore restano testo JSON.
  • I numeri mantengono le cifre esatte, e le date ISO 8601 diventano date o timestamp.

Cosa sapere su SQL Server

  • Il testo è nvarchar con valori N'...', così gli accenti restano intatti; il testo oltre 4000 caratteri diventa nvarchar(max).
  • I valori sì e no diventano bit, e le date con fuso diventano datetimeoffset.
  • I valori lunghi vengono scritti a pezzi, così sqlcmd e SQL Server Management Studio accettano lo script.

Come viene salvato ogni tipo di valore in SQL Server

ValoreSQL Server
Sì e nobit
Numeri interiint
Numeri interi grandibigint
Decimalidecimal(p,s)
Numeri in virgola mobilefloat
Datedate
Oraritime
Date con oradatetime2
Date con ora e fusodatetimeoffset
Testonvarchar(n)nvarchar(max)

Domande su JSON in SQL Server

Non trovi la risposta? Scrivici dalla pagina dei contatti e ti risponde una persona. Pagina dei contatti

Come converto JSON in SQL Server?

Trascina il file sul convertitore in cima a questa pagina. Trova l'intestazione, legge ogni valore e scrive lo script SQL Server, elencando ogni correzione fatta. Scarica lo script ed eseguilo con sqlcmd.

Che forma deve avere il file JSON?

Un array di oggetti, un oggetto che contiene quell'array sotto una chiave come data, oppure un oggetto per riga (NDJSON). Ogni chiave diventa una colonna.

Quali tipi SQL Server usa?

I valori sì e no diventano bit, i numeri interi int, i decimali decimal(p,s), le date date, le date con ora datetime2 e il testo nvarchar(n). Le dimensioni dipendono dal valore più lungo di ogni colonna.

Mantiene gli zeri iniziali in SQL Server?

Sì. Un codice come 000481 resta testo, quindi SQL Server lo salva come nvarchar(8) e lo script lo scrive come N'000481'.

Può caricare i dati in SQL Server senza uno script?

No. Scarica lo script ed eseguilo con sqlcmd. Il caricamento senza script funziona per PostgreSQL, MySQL, MariaDB e SQLite, dall'app desktop o dalla riga di comando.

Quanto può essere grande il file JSON?

L'NDJSON, un oggetto per riga, viene letto man mano che arriva, quindi nel browser funzionano file di diversi gigabyte. Un documento JSON viene letto per intero, quindi il limite è la memoria che il browser concede a questa pagina. L'app desktop e la riga di comando accettano file di qualsiasi dimensione.