Poor SQL vs TSQLLint
Poor SQL
poorsql.comTSQLLint
github.comSide by side
| Figure | Poor SQL | TSQLLint |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Plans published | 1 | 1 |
| Spec score · SQL Linters and Formatters | 9.0 (#1) | 7.4 (#19) |
| Support | Users are directed to contact Tao Klerks by email or file issues in the GitHub issue tracker. | The repository provides issue and discussion navigation, but the opened project pages do not state a formal support offering. |
| VS Code integration | The VS Code extension uses the npm JavaScript library and exposes formatter settings through the VS Code settings UI. | The VS Code extension activates when a .sql file is opened and underlines potential problems for inspection by hovering. |
Plans
In their own words
Poor SQL
Poor SQL reformats and colorizes T-SQL according to settings such as indentation, tab spacing, maximum width, and where statements and clauses break. It can expand comma lists, boolean and CASE expressions, and JOIN ON sections. Formatting runs in the browser, including offline, and the site says submitted SQL is not sent to an external service. Output views include input SQL, formatted SQL, and HTML source. An obfuscation and minification option can vary colors, line lengths, and keyword case, or substitute keywords. Downloads include plugins for SQL Server Management Studio, Visual Studio, and WinMerge, plus a command-line bulk formatter. The open-source Poor Man’s T-SQL Formatter library is AGPL-licensed and supports Microsoft.NET and Mono; its JavaScript library works in browsers and contexts such as Node.js. The project describes its parsing as coarse rather than full, especially for DDL. The free plan is free. Settings are remembered with a cookie; blocking cookies restores defaults on each visit.
TSQLLint
TSQLLint checks T-SQL scripts for anti-patterns and reports the findings. Its command-line tool can correct issues it identifies as auto-fixable with the --fix or -x option. Rules can be set to off, warning, or error; an error-level violation produces a non-zero exit code. Users can save settings in a .tsqllintrc file, or use the tool’s in-memory defaults when no file is present. The listed SQL Server compatibility levels are 80, 90, 100, 110, 120, 130, 140, and 150. Custom .NET plugins can extend it if they implement TSQLLint’s IPlugin interface and target net6.0. Before linting, it substitutes SQL file placeholders with values from environment variables. Official installation methods include dotnet-tool, Homebrew, and NPM. Its VS Code extension marks potential problems in opened .sql files for inspection on hover, and SQL Server Management Studio can invoke it through External Tools. TSQLLint is free under the MIT License and runs on Linux, macOS, and Windows, with an editor extension also listed.