Keyword Casing
Controls the case of SQL keywords (SELECT, FROM, WHERE, etc.).
Community conventions:
- UPPERCASE: Traditional SQL, ANSI standard, most enterprise tools (Oracle, DB2, TSQL)
- lowercase: Modern data engineering (dbt, PostgreSQL community, DuckDB)
- PRESERVE: Keep original casing from source code
Interaction with other options:
functionCaseis independent — you can have UPPER keywords with lower function namesdataTypeCaseis independent — you can have lower keywords with UPPER data types
Uppercase keywords (default ANSI)
select a from t where x > 1
select a from t where x > 1
Lowercase keywords
SELECT a FROM t WHERE x > 1
select a from t where x > 1
Preserve keyword case
Select a From t Where x > 1
Select a From t Where x > 1
Uppercase identifiers (default ANSI)
select myCol from myTable
select mycol from mytable
Preserve identifiers
select MyCol from MyTable
select MyCol from MyTable
Quoted identifiers preserved
select "MyCol" from "MyTable"
select "mycol" from "mytable"
Lowercase identifiers (postgres-style)
SELECT MyCol FROM MyTable
select mycol from mytable
PostgreSQL-style defaults
PostgreSQL defaults: lower keywords, lower identifiers.
SELECT a, b FROM t WHERE x > 1
select a, b from t where x > 1
Mixed case keywords normalized
Inconsistent casing from hand-written SQL is normalized.
Select A, b FROM t Where X > 1 Group By a Order By b
select a, b from t where x > 1 group by a order by b