Přeskočit na obsah
100% lokálně

Konvertor SQL dialektů

Přepište SQL mezi PostgreSQL, MySQL, SQLite a syntaxí SQL Server.

Vstup
Výstup

Konvertor SQL dialektů

Vložte dotaz napsaný pro jednu databázi a získejte ho zpět přepsaný pro jinou. Konvertor pokrývá syntaxi omezení řádků, běžné funkce data a řetězců, zřetězení řetězců, normalizaci uvozování identifikátorů a typy sloupců v PostgreSQL, MySQL, SQLite a SQL Server — užitečné při migraci projektu z MySQL na PostgreSQL, portování skriptu napsaného pro SQL Server na SQLite nebo při kontrole, jak by dotaz vypadal v jiném enginu.

Zdrojový dialekt a cílový dialekt určují dva konce konverze. Zaškrtávací políčka níže zapínají a vypínají jednotlivé konverze: normalizovat uvozování identifikátorů vyměňuje uvozovky, zpětné uvozovky a hranaté závorky za vlastný styl cíle; převést omezení řádků se přepíná mezi LIMIT, TOP a OFFSET…FETCH FIRST bez tichého vynechání offsetu; převést funkce data a řetězců přepisuje NOW()/GETDATE()/datetime('now'), LENGTH()/LEN(), SUBSTRING()/SUBSTR() a COALESCE()/IFNULL()/ISNULL(); převést zřetězení řetězců se přepíná mezi || a CONCAT()/+; převést typy sloupců mapuje SERIAL, AUTO_INCREMENT, IDENTITY(1,1), BOOLEAN, TEXT a deklarace ve stylu TIMESTAMP na jejich nejbližší ekvivalent. Zachovat komentáře určuje, zda -- a /* */ komentáře přežijí přepis.

Některé konstrukce opravdu nemají ekvivalent — PostgreSQL RETURNING a ON CONFLICT, nebo MySQL ON DUPLICATE KEY UPDATE — a místo hádání přepisu je nástroj ponechá na místě a uvádí je v bloku upozornění připojeném k výstupu. Přepisuje text příkazu místo analýzy úplného plánu spuštění, takže zkontrolujte výsledek před spuštěním proti skutečné databázi, zejména u vnořených poddotazů nebo neobvyklého formátování. Multi-statement skripty fungují také: každý příkaz oddělený středníkem se konvertuje na vlastní.

Všechno běží lokálně ve vašem prohlížeči: žádný dotaz, název tabulky, název sloupce nebo připojovací řetězec se nikdy neposílá nikam. Zkopírujte výsledek, stáhněte jej jako .txt soubor, nebo odešlete výstup přímo zpět do vstupu, aby se spustil další průchod.

Časté dotazy

Opravdu analyzuje SQL, nebo jen dělá nahrazení textu?
Přepisuje známé vzory — klauzule omezení řádků, běžné funkce, zřetězení, normalizaci uvozování identifikátorů a typy sloupců — s cílenými textovými náhradami místo úplného SQL parseru, takže vždy zkontrolujte výsledek před spuštěním proti databázi.
Co se stane s konstrukcemi, které v cílovém dialektu neexistují?
Jsou ponechány na místě a uvedeny v bloku upozornění připojeném k výstupu, například PostgreSQL ON CONFLICT při konverzi na SQL Server.
Mohu převádět multi-statement skripty?
Ano — každý příkaz oddělený středníkem se zpracovává sám, takže skript s několika příkazy CREATE TABLE nebo SELECT se konvertuje v jednom průchodu.
Je můj SQL nahrán někam?
Ne. Konverze běží zcela ve vašem prohlížeči — vaše dotazy, schéma a data nikdy neopouští vaše zařízení.