SQL pretvara dialektâ
Prepiši SQL između PostgreSQL-a, MySQL-a, SQLite-a i SQL Server-a.
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.