public void GetSql(DbTarget db_target, ref StringBuilder sql) { sql.Append("("); if (Negation) { sql.Append(" NOT "); } LeftOperand.GetSql(db_target, ref sql); sql.Append(" "); if (_Comparison == Comparisons.IsNull) { sql.Append(" IS NULL"); } else if (_Comparison == Comparisons.In) { sql.Append(" IN ("); if (!RightOperand.IsLiteral) { sql.Append("("); } RightOperand.GetSql(db_target, ref sql); if (!RightOperand.IsLiteral) { sql.Append(")"); } sql.Append(")"); } else { switch (_Comparison) { case Comparisons.Equals: sql.Append(" = "); break; case Comparisons.NotEquals: sql.Append(" <> "); break; case Comparisons.GreaterThan: sql.Append(" > "); break; case Comparisons.GreaterOrEquals: sql.Append(" >= "); break; case Comparisons.LessThan: sql.Append(" < "); break; case Comparisons.LessOrEquals: sql.Append(" <= "); break; case Comparisons.Like: sql.Append(" LIKE "); break; case Comparisons.Between: sql.Append(" BETWEEN "); break; } if (!RightOperand.IsLiteral) { sql.Append("("); } RightOperand.GetSql(db_target, ref sql); if (!RightOperand.IsLiteral) { sql.Append(")"); } } sql.Append(")"); }