Skip to content

Instantly share code, notes, and snippets.

@mvenditto-mydev
Forked from k-maru/format.cs
Created March 21, 2023 09:35
Show Gist options
  • Select an option

  • Save mvenditto-mydev/9819576a0deb6dca45504aaa27c8ca41 to your computer and use it in GitHub Desktop.

Select an option

Save mvenditto-mydev/9819576a0deb6dca45504aaa27c8ca41 to your computer and use it in GitHub Desktop.
T-SQL Format C# Code
class Program {
static void Main(string[] args) {
var query = "select A.ID, A.NAME from (select ID, NAME from BAR) A where A.ID = '1'";
var parser = new TSql120Parser(false);
IList<ParseError> errors;
var parsedQuery = parser.Parse(new StringReader(query), out errors);
if (errors.Count > 0) {
foreach (var err in errors) {
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(err.Message);
Console.ResetColor();
}
}
var generator = new Sql120ScriptGenerator(new SqlScriptGeneratorOptions() {
KeywordCasing = KeywordCasing.Uppercase,
IncludeSemicolons = true,
NewLineBeforeFromClause = true,
NewLineBeforeOrderByClause = true,
NewLineBeforeWhereClause = true,
AlignClauseBodies = false
});
string formattedQuery;
generator.GenerateScript(parsedQuery, out formattedQuery);
Console.WriteLine(formattedQuery);
}
}
Install-Package Microsoft.SqlServer.TransactSql.ScriptDom
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment