Vai al contenuto
100% locale

Convertitore dialetto SQL

Riscrivi SQL tra la sintassi di PostgreSQL, MySQL, SQLite e SQL Server.

Ingresso
Uscita

Convertitore dialetto SQL

Incolla una query scritta per un database e ottenila riscritta per un altro. Il convertitore copre la sintassi dei limiti di righe, le funzioni comuni di data e stringa, la concatenazione di stringhe, le virgolette degli identificatori e i tipi di colonna tra PostgreSQL, MySQL, SQLite e SQL Server — utile durante la migrazione di un progetto da MySQL a PostgreSQL, il porting di uno script scritto per SQL Server a SQLite, o semplicemente il controllo di come apparirebbe una query in un altro engine.

Il dialetto di origine e il dialetto di destinazione scelgono i due estremi della conversione. Le caselle di controllo sottostanti attivano e disattivano le conversioni individuali: normalizzare le virgolette degli identificatori scambia virgolette doppie, accenti gravi e parentesi quadre per lo stile proprio della destinazione; convertire la clausola limite righe alterna tra LIMIT, TOP e OFFSET…FETCH FIRST senza mai perdere silenziosamente un offset; convertire le funzioni di data e stringa riscrivi NOW()/GETDATE()/datetime('now'), LENGTH()/LEN(), SUBSTRING()/SUBSTR() e COALESCE()/IFNULL()/ISNULL(); convertire la concatenazione di stringhe alterna tra || e CONCAT()/+; convertire i tipi di colonna mappa SERIAL, AUTO_INCREMENT, IDENTITY(1,1), BOOLEAN, TEXT e dichiarazioni di tipo TIMESTAMP al loro equivalente più prossimo. Mantieni commenti controlla se i commenti -- e /* */ sopravvivono alla riscrittura.

Alcuni costrutti genuinamente non hanno equivalente — RETURNING e ON CONFLICT di PostgreSQL, oppure ON DUPLICATE KEY UPDATE di MySQL — e piuttosto che indovinare una riscrittura, lo strumento li lascia in posizione e li elenca in un blocco di avvisi aggiunto all'output. Riscrive il testo dell'istruzione piuttosto che analizzare un piano di esecuzione completo, quindi verifica il risultato prima di eseguirlo su un database reale, soprattutto per sottoquery annidate o formattazione inusuale. Anche gli script multi-istruzione funzionano: ogni istruzione, separata da punti e virgola, viene gestita per conto proprio.

Tutto viene eseguito localmente nel tuo browser: nessuna query, nome di tabella, nome di colonna o stringa di connessione viene mai inviata da nessuna parte. Copia il risultato, scaricalo come file .txt, o rinvia direttamente l'output all'input per eseguire un altro passaggio.

FAQ

Analizza davvero l'SQL, o fa solo la sostituzione di testo?
Riscrive i pattern noti — clausole di limite righe, funzioni comuni, concatenazione, virgolette degli identificatori e tipi di colonna — con sostituzioni di testo mirate piuttosto che un parser SQL completo, quindi verifica sempre il risultato prima di eseguirlo su un database.
Che cosa succede ai costrutti che non esistono nel dialetto di destinazione?
Vengono lasciati in posizione ed elencati in un blocco di avvisi aggiunto all'output, come ON CONFLICT di PostgreSQL quando si converte a SQL Server.
Posso convertire script multi-istruzione?
Sì — ogni istruzione, separata da punti e virgola, viene gestita per conto proprio, quindi uno script con più CREATE TABLE o SELECT si converte in un unico passaggio.
Il mio SQL viene caricato da qualche parte?
No. La conversione viene eseguita interamente nel tuo browser — le tue query, schema e dati non lasciano mai il tuo dispositivo.