Zum Inhalt springen

JSON in SQL Server umwandeln

Leg deine JSON-Datei ab und erhalte ein SQL Server-Skript mit CREATE TABLE- und INSERT-Anweisungen. Jede Spalte bekommt einen Typ, und jede Korrektur wird mit Zeile und Spalte aufgeführt.

Deine Datei
jsonpedidos_2024.jsonBeispieldatei, 771 B
Deine Datenbank

4 Zeilen konvertiert, 2 Korrekturen, keine abgelehnt

Anzeigen
Die ersten Zeilen von pedidos_2024.json, jede Korrektur markiert
Zeile
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;

Korrekturen

  1. Führende Nullen in "pedido" behalten: 000481 bleibt 000481, gespeichert als Text.
  2. "pagado" enthält Ja- und Nein-Wörter (sí), gespeichert als Boolean.

Deine Datei wird auf diesem Computer umgewandelt und nie hochgeladen.

Weitere Beispiele:

Von JSON zu SQL Server, Spalte für Spalte

Das Beispiel oben, pedidos_2024.json, so wie IntoSQL es für SQL Server schreibt: was jede Spalte in der Datei enthält, welchen Typ sie bekommt und wie ihr erster Wert im Skript landet.

In der DateiErster WertSpalteTyp in SQL ServerIm Skript
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

Das Skript in SQL Server laden

Der Download ist eine einfache .sql-Datei. Führe sie mit den Werkzeugen von SQL Server aus.

Aus einem Terminal

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

-f 65001 liest die Datei als UTF-8, damit Akzente und ñ so ankommen, wie sie geschrieben sind.

Aus einem Datenbank-Tool

Öffne die Datei in SQL Server Management Studio oder Azure Data Studio und wähle Execute.

Was du über JSON-Dateien und SQL Server wissen solltest

Was IntoSQL in JSON-Dateien liest

  • Die Datei kann ein Array von Objekten sein, ein Objekt, das dieses Array unter einem Schlüssel wie data enthält, oder ein Objekt pro Zeile (NDJSON).
  • Jeder Schlüssel wird zu einer Spalte. Objekte und Arrays innerhalb eines Werts bleiben als JSON-Text erhalten.
  • Zahlen behalten ihre exakten Ziffern, und ISO-8601-Datumswerte werden zu Datums- oder Zeitstempelwerten.

Was du über SQL Server wissen solltest

  • Text ist nvarchar mit N'...'-Werten, damit Akzente erhalten bleiben; Text über 4000 Zeichen wird zu nvarchar(max).
  • Ja-und-nein-Werte werden zu bit, und Datumswerte mit Zeitversatz werden zu datetimeoffset.
  • Lange Werte werden in Teilen geschrieben, damit sqlcmd und SQL Server Management Studio das Skript akzeptieren.

Wie jede Art von Wert in SQL Server gespeichert wird

WertSQL Server
Ja und neinbit
Ganze Zahlenint
Große ganze Zahlenbigint
Dezimalzahlendecimal(p,s)
Gleitkommazahlenfloat
Datumswertedate
Uhrzeitentime
Datum mit Uhrzeitdatetime2
Datum mit Uhrzeit und Zeitversatzdatetimeoffset
Textnvarchar(n)nvarchar(max)

Fragen zu JSON zu SQL Server

Keine Antwort gefunden? Schreib uns über die Kontaktseite, und ein Mensch antwortet. Kontaktseite

Wie konvertiere ich JSON zu SQL Server?

Leg deine Datei auf den Konverter oben auf dieser Seite. Er findet die Kopfzeile, liest jeden Wert und schreibt das SQL Server-Skript, mit jeder Korrektur aufgelistet. Lade das Skript herunter und führe es mit sqlcmd aus.

Welche Form braucht die JSON-Datei?

Ein Array von Objekten, ein Objekt, das dieses Array unter einem Schlüssel wie data enthält, oder ein Objekt pro Zeile (NDJSON). Jeder Schlüssel wird zu einer Spalte.

Welche SQL Server-Typen werden verwendet?

Ja/Nein-Werte werden bit, ganze Zahlen int, Dezimalzahlen decimal(p,s), Datumsangaben date, Datumsangaben mit Uhrzeit datetime2 und Text nvarchar(n). Die Größen richten sich nach dem längsten Wert jeder Spalte.

Bleiben führende Nullen in SQL Server erhalten?

Ja. Ein Code wie 000481 bleibt Text, also speichert SQL Server ihn als nvarchar(8), und das Skript schreibt ihn als N'000481'.

Kann es die Daten ohne Skript in SQL Server laden?

Nein. Lade das Skript herunter und führe es mit sqlcmd aus. Laden ohne Skript funktioniert für PostgreSQL, MySQL, MariaDB und SQLite, aus der Desktop-App oder der Kommandozeile.

Wie groß darf die JSON-Datei sein?

NDJSON, ein Objekt pro Zeile, wird beim Einströmen gelesen, daher funktionieren Dateien von mehreren Gigabyte im Browser. Ein JSON-Dokument wird vollständig gelesen, seine Grenze ist also der Speicher, den der Browser dieser Seite gibt. Die Desktop-App und die Kommandozeile nehmen Dateien jeder Größe.