public override string GetBooleanSqlQuery() { var rq = RightValue.GetSetSqlQuery(); if (LeftValue.SupportedTypes.Contains(FilterExpressionType.Numeric)) { return(LeftValue.GetNumericSqlQuery() + " IN " + rq); } var lq = LeftValue.GetSetSqlQuery(); // check intersection return("exists (" + lq.Unparenthesis() + " intersect " + rq.Unparenthesis() + ")"); }
public override string GetBooleanSqlQuery() { if (CompareAsString()) { return(GetStringComparison() == StringComparison.CurrentCultureIgnoreCase ? "LOWER(" + LeftValue.GetStringSqlQuery() + ") LIKE LOWER('%" + RightValue.GetStringSqlQuery().Unwrap() + "%') escape '\\'" : LeftValue.GetStringSqlQuery() + " LIKE '%" + RightValue.GetStringSqlQuery().Unwrap() + "%' escape '\\'"); } var lq = LeftValue.GetSetSqlQuery(); if (RightValue.SupportedTypes.Contains(FilterExpressionType.Numeric)) { return(RightValue.GetNumericSqlQuery() + " IN " + lq); } var rq = RightValue.GetSetSqlQuery(); // check intersection return("exists (" + lq.Unparenthesis() + " intersect " + rq.Unparenthesis() + ")"); }
public override string GetSetSqlQuery() { return(LeftValue.GetSetSqlQuery() + " except " + RightValue.GetSetSqlQuery()); }
public override string GetSetSqlQuery() { return(LeftValue.GetSetSqlQuery() + " intersect " + RightValue.GetSetSqlQuery()); }