چگونه یک عبارت sql را فرمت شده نمایش دهیم؟
نویسنده: وحید نصیری
تاریخ: ۱۳۹۴/۰۱/۰۹ ۱۲:۵۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
SELECT * FROM tb1 WHERE x1 = '12';
SELECT * FROM tb1 WHERE x1 = '12';
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Microsoft.SqlServer.TransactSql.ScriptDom;
namespace SqlDomAnalyzer.Core
{
public static class PrettyPrintTSql
{
public static string FormatTSql(string tSql)
{
IList<ParseError> errors;
TSqlScript sqlFragment;
using (var reader = new StringReader(tSql))
{
var parser = new TSql120Parser(initialQuotedIdentifiers: true);
sqlFragment = (TSqlScript)parser.Parse(reader, out errors);
}
if (errors != null && errors.Any())
{
var sb = new StringBuilder();
foreach (var error in errors)
sb.AppendLine(error.Message);
throw new InvalidOperationException(sb.ToString());
}
var sql110ScriptGenerator = new Sql120ScriptGenerator(new SqlScriptGeneratorOptions
{
SqlVersion = SqlVersion.Sql120
});
string finalScript;
sql110ScriptGenerator.GenerateScript(sqlFragment, out finalScript);
return finalScript;
}
}
} SELECT * from tb1 WHERE x1 = '12'; SELECT * from tb1 where x1 = '12'; select * from tb1 WHERE x1 = '12';
SELECT * FROM tb1 WHERE x1 = '12';