Notepad++ plugin
6 SQL-Dialekte
ANSI als neutrale Basis, plus sechs konkrete Dialekte — Snowflake, MS SQL (T-SQL), PostgreSQL, MySQL/MariaDB, SQLite und Databricks (Spark SQL). Der Formatter weiß pro Dialekt, welcher Funktionsname, welches Anführungszeichen und welche Datums-/Zeitsyntax üblich ist, und konvertiert über eine zentrale Zwischenform, sodass jeder Dialekt jeden anderen erreichen kann.
Funktionsnamen, die je Datenbank unterschiedlich heißen
NULL-Ersetzung heißt NVL in Snowflake, ISNULL in T-SQL und IFNULL in MySQL und Databricks. Die Zeichenkettenlänge ist in den meisten Dialekten LENGTH, in T-SQL jedoch LEN. Der Formatter erkennt diese Funktionsfamilien und schreibt sie in das Äquivalent Ihres Ziel-Dialekts um — keine 1:1-Textersetzung, sondern eine Nachschlagetabelle pro Dialektpaar.
Vorher
SELECT NVL(discount, 0) AS discount, LENGTH(customer_name) AS name_len FROM orders
Nachher
SELECT IFNULL(discount, 0) AS discount, LEN(customer_name) AS name_len FROM orders
Ein Klick: idiomatische Schreibweise pro Dialekt
Auf der Registerkarte Dialekt wählen Sie einen Dialekt und klicken auf "Apply dialect defaults" — der Formatter wendet sofort die zu diesem Dialekt passende Schreibweise-Konvention an (z. B. überwiegend Großbuchstaben in Snowflake-Skripten, Kleinbuchstaben im PostgreSQL-Stil). Das Ergebnis können Sie danach auf den anderen Registerkarten weiter verfeinern.

MS SQL zu Snowflake, inklusive Datumsfunktionen
Auch idiomatische Konstrukte wie IIF() und GETDATE() erhalten ihr Snowflake-Gegenstück, zusammen mit der zu diesem Dialekt passenden Schreibweise-Voreinstellung.
Vorher
select iif(amount > 1000, 'large', 'small'), isnull(notes, '-'), getdate() from orders
Nachher
SELECT IFF(AMOUNT > 1000, 'LARGE', 'SMALL'), NVL(NOTES, '-'), CURRENT_TIMESTAMP FROM ORDERS
Häufig gestellte Fragen
Warum ist ANSI kein 'siebter Dialekt' in der Liste?
ANSI ist die neutrale Zwischenform, die der Formatter intern verwendet, um von jedem Dialekt in jeden anderen zu konvertieren, und kann selbst auch als Dialekt-Einstellung ohne herstellerspezifische Funktionsnamen gewählt werden.
Was passiert mit Funktionen ohne Äquivalent?
Funktionen, die der Formatter nicht als Teil einer bekannten Dialektfamilie erkennt, bleiben genau so, wie sie sind — es wird nie geraten.