using System.Collections.Generic;
namespace TSQLParserExample
public string Field {get;set;}
public string Operator {get;set;}
public string FieldValue {get;set;}
public string SearchOperator { get; set; }
public static void Main(string[] args)
TSQLSelectStatement select = TSQLStatementReader.ParseStatements(@"
WHERE h.id = @id AND h.name = '@name'
")[0] as TSQLSelectStatement;
List<ParseRule> rules = new List<ParseRule>();
if (select.Where != null)
Console.WriteLine("WHERE:");
ParseRule ruleValue = new ParseRule();
foreach (TSQLToken token in select.Where.Tokens)
string tokenType = token.Type.ToString();
string tokenText = token.Text;
if(string.IsNullOrEmpty(ruleValue.SearchOperator))
ruleValue.SearchOperator = tokenText;
ruleValue.Operator = tokenText;
ruleValue.Field = tokenText;
ruleValue.FieldValue = tokenText;
if(!string.IsNullOrEmpty(ruleValue.SearchOperator) && ruleValue.SearchOperator.Equals("WHERE"))
ruleValue.SearchOperator = "AND";
ruleValue = new ParseRule();
for(var i = 0; i < rules.Count; i++)
Console.WriteLine("\t Field: " + rule1.Field + "\t Operator: " + rule1.Operator + " \t SearchOperator: " + rule1.SearchOperator + "\t Value: " + rule1.FieldValue);