Preskoči na sadržaj
100% lokalno

SQL pretvara dialektâ

Prepiši SQL između PostgreSQL-a, MySQL-a, SQLite-a i SQL Server-a.

Unos
Rezultat

SQL pretvara dialektâ

Zalijepi upiti napisan za jednu bazu podataka i dobij ga nazad prepisanog za drugu. Pretvara pokriva sintaksu ograničenja redova, česte datumske i string funkcije, nadovezivanje stringova, navodnjake identifikatora i tipove stupaca između PostgreSQL-a, MySQL-a, SQLite-a i SQL Server-a — korisno pri migraciji projekta sa MySQL-a na PostgreSQL, prilagodbi skripte napisane za SQL Server na SQLite, ili samo provjeri kako bi upit izgledao na drugom motoru.

Izvorna dijalekt i ciljni dijalekt biraju dva kraja pretvaranja. Oznake dolje uključuju/isključuju pojedinačne pretvaranja: normalizacija navodnjaka identifikatora zamjenjuje dvostruke navodnjake, backtick-e i uglate zagrade sa vlastitim stilom odredišta; konverzija klauzule ograničenja reda prebacuje između LIMIT, TOP i OFFSET…FETCH FIRST bez tiho brisanja offseta; konverzija datumskih i string funkcija prepisuje NOW()/GETDATE()/datetime('now'), LENGTH()/LEN(), SUBSTRING()/SUBSTR() i COALESCE()/IFNULL()/ISNULL(); konverzija nadovezivanja stringova prebacuje između || i CONCAT()/+; konverzija tipova stupaca mapira SERIAL, AUTO_INCREMENT, IDENTITY(1,1), BOOLEAN, TEXT i TIMESTAMP-stilu deklaracije na njihov najbliži ekvivalent. Zadrži komentare kontrolira da li -- i /* */ komentari prežive preupisivanje.

Neke konstrukcije doista nemaju ekvivalenta — PostgreSQL-ov RETURNING i ON CONFLICT, ili MySQL-ov ON DUPLICATE KEY UPDATE — i umjesto pogađanja u preupisivanju, alat ih ostavlja na mjestu i navodi ih u bloku upozorenja dodanom na kraju rezultata. Prepisuje tekst naredbe umjesto analiziranja punog plana izvršavanja, pa pregledaj rezultat prije pokretanja protiv prave baze podataka, pogotovo za ugniježđene upite ili neobično oblikovanje. Multi-naredbe skripte rade i: svaka naredba odvojena zarezom pretvara sama.

Sve se izvršava lokalno u pregledniku: nijedan upit, naziv tablice, naziv stupca ili string veze nikada nije poslano nikuda. Kopiraj rezultat, preuzmi kao .txt datoteku, ili pošalji rezultat direktno nazad u unos za pokretanje drugog prolaska.

FAQ

Je li doista parsira SQL ili samo radi zamjenu teksta?
Prepisuje poznate obrasce — klauzule ograničenja redova, česte funkcije, nadovezivanje, navodnjake identifikatora i tipove stupaca — sa ciljanjem na zamjene teksta umjesto punog SQL parsera, pa uvijek provjeri rezultat prije pokretanja protiv baze podataka.
Šta se dešava sa konstrukcijama koje ne postoje u ciljnom dijalektu?
Ostaju na mjestu i navedene su u bloku upozorenja dodanom na kraju rezultata, kao što je PostgreSQL-ov ON CONFLICT pri konverziji na SQL Server.
Mogu li pretvore multi-naredbe skripte?
Da — svaka naredba, odvojena zarezom, se obrađuje sama, pa se skripte sa nekoliko CREATE TABLE ili SELECT naredbi pretvaraju u jednom prolazu.
Je li moj SQL preuslana negdje?
Ne. Konverzija se izvršava potpuno u pregledniku — tvoje upiti, šema i podaci nikada ne napuštaju tvoj uređaj.