SQLFluff is a dialect-flexible and configurable SQL linter. Designed with ELT applications in mind, SQLFluff also works with Jinja templating and dbt. SQLFluff will auto-fix most linting errors, allowing you to focus your time on what matters.
SELECT this_column, my_table.THAT_COLUMN AS this_name, some_number *10 AS a_bigger_number from my_table
$ sqlfluff lint test.sql --dialect ansi == [test.sql] FAIL L: 2 | P: 5 | RF03 | Unqualified reference 'this_column' found in single | table select. [references.consistent] L: 3 | P: 5 | RF03 | Qualified reference 'my_table.THAT_COLUMN' found in | single table select which is inconsistent with previous | references. [references.consistent] L: 3 | P: 14 | CP02 | Unquoted identifiers must be consistently lower case. | [capitalisation.identifiers] L: 4 | P: 1 | LT02 | Expected indent of 4 spaces. | [layout.indent] L: 4 | P: 3 | RF03 | Unqualified reference 'some_number' found in single | table select. [references.consistent] L: 4 | P: 16 | LT01 | Expected single whitespace between binary operator '*' | and numeric literal. [layout.spacing] L: 5 | P: 1 | CP01 | Keywords must be consistently upper case. | [capitalisation.keywords]