Utilo

Formateur SQL et conversion de dialectes

Embellissez vos requêtes SQL et convertissez la syntaxe entre MySQL, PostgreSQL, SQLite et SQL Server : guillemets d'identifiants, LIMIT/TOP/OFFSET, auto-incrément, types de données et fonctions courantes.

Ce que fait ce formatateur SQL

Cet outil a deux fonctions. Tout d'abord, il format SQL: une clause par ligne, une indentation cohérente, des mots-clés majuscules ou minuscules et des blocs JOIN et CASE lisibles, en utilisant le moteur sql-formatter testé en bataille avec analyse adaptée au dialecte. Deuxièmement, il effectue ** conversion de dialecte de base ** entre MySQL, PostgreSQL, SQLite et SQL Server, gérant les différences qui piquent le plus souvent lors du déplacement d'une requête ou d'un schéma entre les bases de données. Tout fonctionne localement, donc les requêtes de production contenant de vrais noms de tables ne quittent jamais votre navigateur.

Mode d'emploi

  1. Collez SQL dans l'entrée.
  2. Choisissez le dialecte source et, si vous voulez convertir, un dialecte cible. Laissez la cible comme "maintenir" à format unique.
  3. Choisissez le cas du mot clé et la largeur de l'indentation.
  4. Consultez le tableau des notes: tout ce que le convertisseur n'a pas pu traduire en toute sécurité est indiqué.
  5. J'ai copié le résultat.

Ce que le convertisseur gère

  • Identifiant avec citation: `name` (MySQL) ↔ "name" (PostgreSQL/SQLite) ↔ [name] (SQL Server).
  • ** Limites de ligne:** LIMIT n OFFSET m TOP n OFFSET m ROWS FETCH NEXT n ROWS ONLY.
  • Incrémentation automatique: AUTO_INCREMENT SERIAL/GENERATED ... AS IDENTITY AUTOINCREMENT IDENTITY(1,1).
  • ** Types courants:** DATETIME/TIMESTAMP, TINYINT(1)/BOOLEAN/BIT, NVARCHAR, TEXT, BLOB/BYTEA/VARBINARY(MAX).
  • ** Fonctions:** NOW()/GETDATE()/CURRENT_TIMESTAMP, IFNULL/ISNULL/COALESCE, RAND()/RANDOM(), CONCAT ||.
  • Les littéraux de chaîne et les commentaires sont protégés, de sorte qu'un mot clé à l'intérieur de 'quotes' n'est jamais réécrit.

Les limites

La conversion de dialecte est basée sur des modèles, pas un compilateur complet. Les procédures stockées, les déclencheurs, les fonctions spécifiques au fournisseur (étrangetés du cadre de fenêtre, opérateurs JSON, MERGE, ON DUPLICATE KEY vs ON CONFLICT) et les détails de tri nécessitent une révision manuelle. Traiter la sortie comme un premier brouillon solide et le tester contre la base de données cible.

Questions fréquentes

Le formatage modifie-t-il ce que fait ma requête ?

Je ne veux pas. Le formatage ne change que l'espace blanc et le cas du mot clé. Les identifiants et les littéraux sont intacts.

Puis-je formater plusieurs déclarations ?
  • Je suis désolé. Séparez-les avec des virgules et chaque déclaration est formatée par elle-même.
Pourquoi ma requête n'est pas convertie complètement ?

Certaines constructions n'ont aucun équivalent direct. Le tableau des notes répertorie ce qui nécessite une attention.

Mon SQL est téléchargé ?

Je ne veux pas. Le formatage et la conversion s'exécutent entièrement dans votre navigateur.

Oui. Tout le traitement s'effectue directement dans votre navigateur grâce à JavaScript, aux Web Workers et aux API Web. Rien de ce que vous saisissez, collez ou importez n'est envoyé à nos serveurs.

Cette page a été traduite automatiquement depuis l'anglais. Si vous repérez une erreur, dites-le-nous.