Sql Formatter Using C#
Solution 1:
Solution 2:
Hmm, another question I'm stumbling across much later, but in case this is useful to anyone else down the line, I've implemented an open-source (AGPL) T-SQL formatter: http://www.architectshack.com/PoorMansTSqlFormatter.ashx
My approach definitely does not involve full SQL parsing (T-SQL is a very complex language, I don't rate my chances of developing and maintaining a complete parser on my own) but rather tokenizing and then identifying major structures in the SQL, by keyword. The result is a partial parse tree with all the formatting-relevant parts broken out.
As noted in answers to the question @astander linked to, there are commercial options for comprehensive SQL parsing, and lots of parser builders out there - but no complete open-source T-SQL parsers than I know of.
Making a parser for simple selects, updates, deletes is straightforward - handling derived tables and subqueries gets a little harder; then OUTPUT clauses, MERGE statements, multi-statement scripts, CTEs, the dozens of DDL statements T-SQL contains, etc: it gets messy.
Solution 3:
When I am in a crunch and need to make something at least look "formatted", I jump to
Solution 4:
There is also the SQLinForm SQL beautifier which has a C# API at www.sqlinform.com
Post a Comment for "Sql Formatter Using C#"