sqlfmt was made for dbt, and originally only formatted select statements. Additional syntax is being added all the time. The list below represents the current functionality of sqlfmt @main. To request prioritization of additional commands/statements, leave a comment below or open an issue.
Commands marked below with (no handling) are simple enough to be lexed/formatted with sqlfmt's core engine.
Relevant releases (see the Changelog for more info):
0.12: Detects DDL and does not format unsupported statements (prior versions would apply incorrect formatting). Adds support for values
0.13: Adds support for delete, grant, revoke, create function, and explain
0.14: Adds support for create warehouse, alter warehouse, alter function, drop function, create external function
0.15: Adds support for create <object> ... clone statements
sqlfmt was made for dbt, and originally only formatted
select
statements. Additional syntax is being added all the time. The list below represents the current functionality of sqlfmt@main
. To request prioritization of additional commands/statements, leave a comment below or open an issue.Commands marked below with
(no handling)
are simple enough to be lexed/formatted with sqlfmt's core engine.Relevant releases (see the Changelog for more info):
values
delete
,grant
,revoke
,create function
, andexplain
create warehouse
,alter warehouse
,alter function
,drop function
,create external function
create <object> ... clone
statementsThe full list of PostgreSQL SQL Commands:
Snowflake adds DML:
Snowflake adds DDL
BigQuery is covered by keywords above.
Redshift adds:
Spark adds:
MySQL
DuckDB
Materialize adds: