SQL-dialect converter
SQL tussen PostgreSQL, MySQL, SQLite en SQL Server herschrijven.
SQL-dialect converter
Plak een query geschreven voor een database en krijg deze herschreven voor een ander. De converter dekt rijlimietsyntaxis, veel gebruikte datum- en stringfuncties, stringaaneenschakeling, identifier-aanhalingstekens en kolomtypen over PostgreSQL, MySQL, SQLite en SQL Server — handig bij migratie van een project van MySQL naar PostgreSQL, porteren van een script van SQL Server naar SQLite, of gewoon controleren hoe een query in een ander platform eruit zou zien.
Bron-dialect en doel-dialect bepalen de twee kanten van de conversie. De selectievakjes hieronder schakelen individuele conversies in en uit: aanhalingstekens normaliseren voor identifiers wisselt dubbele aanhalingstekens, backticks en vierkante haken voor de stijl van het doel; rijlimiet-clausule converteren schakelt tussen LIMIT, TOP en OFFSET…FETCH FIRST zonder ooit een offset stilzwijgend weg te laten; datum- en stringfuncties converteren herschrijft NOW()/GETDATE()/datetime('now'), LENGTH()/LEN(), SUBSTRING()/SUBSTR() en COALESCE()/IFNULL()/ISNULL(); stringaaneenschakeling converteren schakelt tussen || en CONCAT()/+; kolomtypen converteren mapt SERIAL, AUTO_INCREMENT, IDENTITY(1,1), BOOLEAN, TEXT en TIMESTAMP-achtige declaraties toe aan hun dichtstbijzijnde equivalent. Opmerkingen behouden bepaalt of -- en /* */ opmerkingen de herschrijving overleven.
Sommige constructies hebben werkelijk geen equivalent — PostgreSQLs RETURNING en ON CONFLICT, of MySQLs ON DUPLICATE KEY UPDATE — en in plaats van een herschrijving te raden, laat het gereedschap deze op hun plaats en vermeldt ze in een waarschuwingsblok dat aan de uitvoer is toegevoegd. Het herschrijft instructietekst in plaats van een volledig uitvoeringsplan te parseren, dus controleer altijd het resultaat voordat u het tegen een echte database uitvoert, vooral voor geneste subqueries of ongebruikelijke opmaak. Multi-statement scripts werken ook: elke statement, gescheiden door puntkomma's, wordt zelfstandig omgezet.
Alles draait lokaal in uw browser: geen query, tabelnaam, kolomnaam of verbindingsstring wordt ooit ergens verzonden. Kopieer het resultaat, download het als .txt-bestand, of stuur de uitvoer direct terug naar de invoer voor nog een ronde.