Convertisseur de dialecte SQL
Réécrire SQL entre les syntaxes PostgreSQL, MySQL, SQLite et SQL Server.
Convertisseur de dialecte SQL
Collez une requête écrite pour une base de données et récupérez-la réécrite pour une autre. Le convertisseur couvre la syntaxe des limites de lignes, les fonctions courantes de date et chaîne, la concaténation de chaînes, les guillemets d'identificateurs et les types de colonnes entre PostgreSQL, MySQL, SQLite et SQL Server — utile lors de la migration d'un projet de MySQL à PostgreSQL, du portage d'un script écrit pour SQL Server vers SQLite, ou simplement de la vérification de l'apparence d'une requête dans un autre moteur.
Le dialecte source et le dialecte cible choisissent les deux extrémités de la conversion. Les cases à cocher ci-dessous activent et désactivent les conversions individuelles : normaliser les guillemets d'identificateurs permute les guillemets doubles, les accents graves et les crochets pour le style propre de la cible ; convertir la clause LIMIT bascule entre LIMIT, TOP et OFFSET…FETCH FIRST sans jamais perdre silencieusement un décalage ; convertir les fonctions de date et chaîne réécrit NOW()/GETDATE()/datetime('now'), LENGTH()/LEN(), SUBSTRING()/SUBSTR() et COALESCE()/IFNULL()/ISNULL() ; convertir la concaténation de chaînes bascule entre || et CONCAT()/+ ; convertir les types de colonnes mappe SERIAL, AUTO_INCREMENT, IDENTITY(1,1), BOOLEAN, TEXT et les déclarations de type TIMESTAMP à leur équivalent le plus proche. Conserver les commentaires contrôle si les commentaires -- et /* */ survivent à la réécriture.
Certaines constructions n'ont vraiment pas d'équivalent — RETURNING et ON CONFLICT de PostgreSQL, ou ON DUPLICATE KEY UPDATE de MySQL — et plutôt que de deviner une réécriture, l'outil les laisse en place et les répertorie dans un bloc d'avertissements ajouté à la sortie. Il réécrit le texte d'instruction plutôt que d'analyser un plan d'exécution complet, alors vérifiez le résultat avant de l'exécuter contre une base de données réelle, en particulier pour les sous-requêtes imbriquées ou le formatage inhabituel. Les scripts multi-instructions fonctionnent aussi : chaque instruction, séparée par des points-virgules, est gérée seule.
Tout s'exécute localement dans votre navigateur : aucune requête, nom de table, nom de colonne ou chaîne de connexion n'est jamais envoyé où que ce soit. Copiez le résultat, téléchargez-le en tant que fichier .txt, ou renvoyez directement la sortie à l'entrée pour exécuter une autre passe.