Pular para o conteúdo

Converter JSON para SQL Server

Solte seu arquivo JSON e receba um script para SQL Server com comandos CREATE TABLE e INSERT. Cada coluna recebe um tipo, e cada correção é listada com sua linha e coluna.

Seu arquivo
jsonpedidos_2024.jsonArquivo de exemplo, 771 B
Seu banco de dados

4 linhas convertidas, 2 correções, nenhuma rejeitada

Mostrar
As primeiras linhas de pedidos_2024.json, com cada correção marcada
Linha
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;

Correções

  1. Zeros à esquerda mantidos em "pedido": 000481 continua 000481, salvo como texto.
  2. "pagado" contém palavras de sim e não (sí), salvas como booleano.

Seu arquivo é convertido neste computador e nunca é enviado.

Outros exemplos:

De JSON para SQL Server, coluna por coluna

O exemplo acima, pedidos_2024.json, como o IntoSQL o escreve para SQL Server: o que cada coluna contém no arquivo, o tipo que recebe e como seu primeiro valor fica no script.

No arquivoPrimeiro valorColunaTipo no SQL ServerNo 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

Carregue o script no SQL Server

O download é um arquivo .sql simples. Execute-o com as ferramentas do próprio SQL Server.

Pelo terminal

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

-f 65001 lê o arquivo como UTF-8, então os acentos e o ñ chegam como foram escritos.

Por uma ferramenta de banco de dados

No SQL Server Management Studio ou no Azure Data Studio, abra o arquivo e escolha Execute.

O que saber sobre arquivos JSON e SQL Server

O que o IntoSQL lê em arquivos JSON

  • O arquivo pode ser um array de objetos, um objeto que guarda esse array sob uma chave como data, ou um objeto por linha (NDJSON).
  • Cada chave vira uma coluna. Objetos e arrays dentro de um valor são mantidos como texto JSON.
  • Os números mantêm os dígitos exatos, e datas ISO 8601 viram datas ou timestamps.

O que saber sobre SQL Server

  • Texto é nvarchar com valores N'...', então os acentos se mantêm; texto com mais de 4000 caracteres vira nvarchar(max).
  • Valores de sim e não viram bit, e datas com fuso viram datetimeoffset.
  • Valores longos são escritos em partes, então o sqlcmd e o SQL Server Management Studio aceitam o script.

Como cada tipo de valor é armazenado no SQL Server

ValorSQL Server
Sim e nãobit
Números inteirosint
Números inteiros grandesbigint
Decimaisdecimal(p,s)
Números de ponto flutuantefloat
Datasdate
Horáriostime
Datas com horadatetime2
Datas com hora e fusodatetimeoffset
Textonvarchar(n)nvarchar(max)

Perguntas sobre JSON para SQL Server

Não encontrou a resposta? Escreva para nós pela página de contato e uma pessoa responde. Página de contato

Como converto JSON para SQL Server?

Solte seu arquivo no conversor no topo desta página. Ele encontra o cabeçalho, lê cada valor e escreve o script para SQL Server, listando cada correção feita. Baixe o script e execute-o com sqlcmd.

Qual formato o arquivo JSON precisa ter?

Um array de objetos, um objeto que guarda esse array em uma chave como data, ou um objeto por linha (NDJSON). Cada chave vira uma coluna.

Quais tipos do SQL Server ele usa?

Valores sim e não viram bit, números inteiros int, decimais decimal(p,s), datas date, datas com hora datetime2 e texto nvarchar(n). Os tamanhos vêm do valor mais longo de cada coluna.

Ele mantém os zeros à esquerda no SQL Server?

Sim. Um código como 000481 continua como texto, então o SQL Server o guarda como nvarchar(8) e o script o escreve como N'000481'.

Ele carrega os dados no SQL Server sem um script?

Não. Baixe o script e execute-o com sqlcmd. A carga sem script funciona com PostgreSQL, MySQL, MariaDB e SQLite, pelo app para desktop ou pela linha de comando.

Qual o tamanho máximo do arquivo JSON?

NDJSON, um objeto por linha, é lido à medida que chega, então arquivos de vários gigabytes funcionam no navegador. Um documento JSON é lido inteiro, então o limite é a memória que o navegador dá a esta página. O app para desktop e a linha de comando aceitam arquivos de qualquer tamanho.