Sări la conținut
Complet local

Convertor de dialect SQL

Rescrie SQL între sintaxa PostgreSQL, MySQL, SQLite și SQL Server.

Intrare
Ieșire

Convertor de dialect SQL

Lipiți o interogare scrisă pentru o bază de date și obțineți-o rescrisă pentru alta. Convertorul acoperă sintaxa de limitare a rândurilor, funcții comune de dată și text, concatenare de șiruri, ghilimele identificatori și tipuri de coloană în PostgreSQL, MySQL, SQLite și SQL Server — util la migrarea unui proiect de la MySQL la PostgreSQL, portarea unui script scris pentru SQL Server la SQLite, sau simplu verificarea modului în care o interogare ar arăta în alt motor.

Dialectul sursă și dialectul țintă aleg cele două capete ale conversiei. Casetele de selectare de mai jos activează și dezactivează conversiile individuale: normalizarea ghilimelor identificatori schimbă ghilimele duble, backtick-urile și parantezele pătrate cu stilul propriu al dialectului țintă; conversie clauza LIMIT alternează între LIMIT, TOP și OFFSET…FETCH FIRST fără a abandona niciodată în tăcere un offset; conversie funcții dată și text rescrie NOW()/GETDATE()/datetime('now'), LENGTH()/LEN(), SUBSTRING()/SUBSTR() și COALESCE()/IFNULL()/ISNULL(); conversie concatenare șiruri alternează între || și CONCAT()/+; conversie tipuri coloană mapează SERIAL, AUTO_INCREMENT, IDENTITY(1,1), BOOLEAN, TEXT și declarații în stil TIMESTAMP la echivalenții lor cei mai apropiați. Păstrează comentarii controlează dacă comentariile -- și /* */ supraviețuiesc rescrierii.

Unele construcții cu adevărat nu au echivalente — RETURNING și ON CONFLICT ale PostgreSQL, sau ON DUPLICATE KEY UPDATE ale MySQL — și în loc să ghicim o rescriере, instrumentul le lasă în loc și le listează într-un bloc de avertismente anexat la ieșire. Rescrie textul instrucțiunilor mai degrabă decât să analizeze un plan de execuție complet, deci revizuiți rezultatul înainte de a-l executa pe o bază de date reală, mai ales pentru subinterogări imbricate sau formatare neobișnuită. Scripturile cu mai multe instrucțiuni funcționează și: fiecare instrucțiune separată prin puncte și virgule se convertește individual.

Tot se execută local în browserul dvs.: nicio interogare, nume de tabel, nume de coloană sau șir de conexiune nu este niciodată trimis nicăieri. Copiați rezultatul, descărcați-l ca fișier .txt, sau trimiteți ieșirea direct în intrare pentru a executa o altă trecere.

FAQ

Analizează cu adevărat SQL, sau doar face înlocuire de text?
Rescrie modele cunoscute — clauze de limitare a rândurilor, funcții comune, concatenare, ghilimele identificatori și tipuri de coloană — cu înlocuiri de text direcționate mai degrabă decât un analizor SQL complet, deci verificați întotdeauna rezultatul înainte de a-l executa pe o bază de date.
Ce se întâmplă cu construcții care nu există în dialectul țintă?
Sunt lăsate în loc și listate într-un bloc de avertismente anexat la ieșire, cum ar fi ON CONFLICT ale PostgreSQL la convertire la SQL Server.
Pot converti scripturi cu mai multe instrucțiuni?
Da — fiecare instrucțiune, separată prin puncte și virgule, este procesată individual, deci un script cu mai mulți CREATE TABLE sau SELECT se convertește intr-o singură trecere.
SQL-ul meu este încărcat undeva?
Nu. Conversiile se execută complet în browserul dvs. — interogările, schema și datele dvs. nu pleacă niciodată din dispozitiv.