SQL Formatter

Notepad++ plugin

6 SQL-dialecten

ANSI als neutrale basis, plus zes concrete dialecten — Snowflake, MS SQL (T-SQL), PostgreSQL, MySQL/MariaDB, SQLite en Databricks (Spark SQL). De formatter kent per dialect welke functienaam, welk quote-teken en welke datum/tijd-syntax gebruikelijk is, en converteert via een centrale hub zodat elk dialect naar elk ander dialect kan.

Functienamen die per database anders heten

NULL-vervanging heet NVL in Snowflake, ISNULL in T-SQL en IFNULL in MySQL en Databricks. String-lengte is LENGTH in de meeste dialecten, maar LEN in T-SQL. De formatter herkent deze functiefamilies en herschrijft ze naar het equivalent van je doel-dialect — niet één-op-één tekstvervanging, maar een opzoektabel per dialectpaar.

Voor

SELECT NVL(discount, 0) AS discount, LENGTH(customer_name) AS name_len
FROM orders

Na

SELECT IFNULL(discount, 0) AS discount, LEN(customer_name) AS name_len
FROM orders

Eén klik: idiomatische casing per dialect

Op het Dialect-tabblad kies je een dialect en klik je op "Apply dialect defaults" — de formatter past direct de casing-conventie toe die bij dat dialect past (bijvoorbeeld overwegend hoofdletters in Snowflake-scripts, kleine letters in PostgreSQL-stijl). Je kunt dat resultaat daarna nog verder fijnslijpen op de andere tabs.

Dialect-tabblad van de SQL Formatter instellingen

MS SQL naar Snowflake, inclusief datumfuncties

Ook idiomatische constructies zoals IIF() en GETDATE() krijgen hun Snowflake-tegenhanger, samen met de bijbehorende casing-preset voor dat dialect.

Voor

select iif(amount > 1000, 'large', 'small'), isnull(notes, '-'), getdate()
from orders

Na

SELECT IFF(AMOUNT > 1000, 'LARGE', 'SMALL'), NVL(NOTES, '-'), CURRENT_TIMESTAMP
FROM ORDERS

Veelgestelde vragen

Waarom is ANSI geen 'zevende dialect' in de lijst?

ANSI is de neutrale hub-vorm die de formatter intern gebruikt om van elk dialect naar elk ander te converteren, en is zelf ook te kiezen als een dialect-instelling zonder vendor-specifieke functienamen.

Wat gebeurt er met functies die geen equivalent hebben?

Functies die de formatter niet als onderdeel van een bekende dialectfamilie herkent, blijven ongewijzigd staan — er wordt nooit geraden.