Ugrás a tartalomhoz
100% helyi

SQL dialektus konvertáló

SQL átírása PostgreSQL, MySQL, SQLite és SQL Server szintaxis között.

Bemenet
Kimenet

SQL dialektus konvertáló

Illesszen be egy lekérdezést az egyik adatbázishoz írva, és kapja vissza egy másikhoz átírva. Az átalakító lefedi a sornöveküléskezdeményzések, közös dátum és karakterlánc függvények, karakterlánc konkatenáció, azonosítók idézésjeleit és oszloptípusokat PostgreSQL, MySQL, SQLite és SQL Server között — hasznos MySQL-ből PostgreSQL-be történő projekt migrálásához, SQL Server-ből SQLite-be írt szkript portálásához, vagy csak azt ellenőrizni, hogy egy lekérdezés hogyan nézne ki egy másik adatbázismotor esetén.

A forrás dialektus és cél dialektus az átalakítás két végpontját jelöli. Az alábbi jelölőnégyzetek az egyes átalakításokat be- és kikapcsolják: az azonosítók idézésjelének normalizálása felcseréli az idézőjeleket, backtickeket és szögletes zárójeleket a cél saját stílusára; a sornöveküléskezdeményzések konvertálása között Limit, TOP és OFFSET…FETCH FIRST között vált anélkül, hogy az offsetet hallgatagon eldobná; a dátum és karakterlánc függvények átírják a NOW()/GETDATE()/datetime('now'), LENGTH()/LEN(), SUBSTRING()/SUBSTR() és COALESCE()/IFNULL()/ISNULL() függvényeket; a karakterlánc konkatenáció között || és CONCAT()/+ között vált; az oszloptípusok konvertálása a SERIAL, AUTO_INCREMENT, IDENTITY(1,1), BOOLEAN, TEXT és TIMESTAMP-stílus deklarációk legközelebbi egyenértékesére térképezi. A megjegyzések megőrzése azt határozza meg, hogy a -- és /* */ megjegyzések túlélik-e az átírást.

Egyes szerkezetek valójában nem rendelkeznek egyenértékesekkel — PostgreSQL RETURNING és ON CONFLICT, vagy MySQL ON DUPLICATE KEY UPDATE — és ahelyett, hogy megpróbálnánk egy átírást, az eszköz helyén hagyja őket, és a kimenethez fűzött figyelmeztetések blokkjában felsorolja őket. Az eszköz a utasítás szövegét írja át, nem pedig egy teljes végrehajtási terv elemzésére, ezért vizsgálja meg az eredményt, mielőtt futtatná egy valós adatbázison, különösen a beágyazott alkérdezések vagy szokatlan formázás esetén. A több utasítást tartalmazó szkriptek is működnek: az egyes, pontosvesszővel elválasztott utasítások saját magukon konvertálódnak.

Minden helyileg fut böngészőjében: egyetlen lekérdezés, táblánév, oszlopnév vagy kapcsolati karakterlánc sem kerül sehova. Másolja az eredményt, töltse le .txt fájlként, vagy küldje vissza az kimenetet közvetlenül a bemenetbe egy újabb pass futtatásához.

Gyakori kérdések

Valóban elemzi az SQL-t, vagy csak szöveg helyettesítést végez?
Ismert mintákat írja át — sornöveküléskezdeményzések, közös függvények, konkatenáció, azonosítók idézésjelei és oszloptípusok — a teljes SQL-elemző helyett célzott szöveg helyettesítéssel, ezért az eredményt mindig ellenőrizze, mielőtt futtatná egy adatbázison.
Mi történik az olyan szerkezetekkel, amelyek nem léteznek a cél dialektusban?
Helyén maradnak, és a kimenetre fűzött figyelmeztetések blokkjában felsorolja őket, például PostgreSQL ON CONFLICT az SQL Server-re konvertáláskor.
Konvertálhatok több utasítást tartalmazó szkripteket?
Igen — az egyes, pontosvesszővel elválasztott utasítások saját magukon konvertálódnak, így egy több CREATE TABLE vagy SELECT utasítást tartalmazó szkript egy menetben konvertálódik.
Az SQL-em bárhova feltöltésre kerül?
Nem. Az átalakítás teljes egészében böngészőjében fut — a lekérdezések, séma és adatok soha nem hagyják el az eszközöt.