public override void WriteSql(StringBuilder sql)
 {
     sql.Append(IsNegated ? "NOT " : "");
     sql.Append("EXISTS(");
     Argument.WriteSql(sql);
     sql.Append(")");
 }
        public override void WriteSql(StringBuilder sql)
        {
            string name = Quoted ? QuoteIdentifier(Name) : Name;

            sql.AppendFormat("{0}({1}", name, Distinct ? "DISTINCT " : "");
            Argmument.WriteSql(sql);
            sql.Append(")");
        }
示例#3
0
        public override void WriteSql(StringBuilder sql)
        {
            if (IsWrapped)
            {
                sql.Append("(");
            }
            sql.Append("SELECT");
            if (IsDistinct)
            {
                sql.Append(" DISTINCT ");
            }

            WriteList(Columns, sql);

            if (From != null)
            {
                sql.Append("\r\nFROM ");
                From.WriteSql(sql);
            }
            if (Where != null)
            {
                sql.Append("\r\n WHERE ");
                Where.WriteSql(sql);
            }
            if (GroupBy != null)
            {
                sql.Append("\r\n GROUP BY ");
                WriteList(GroupBy, sql);
            }
            WriteOrderBy(sql);
            if (Limit != null || Skip != null)
            {
                sql.Append(" LIMIT ");
                if (Skip != null)
                {
                    sql.AppendFormat("{0},", Skip);
                }
                if (Limit == null)
                {
                    sql.Append("18446744073709551615");
                }
                else
                {
                    sql.AppendFormat("{0}", Limit);
                }
            }
            if (IsWrapped)
            {
                sql.Append(")");
                if (Name != null)
                {
                    sql.AppendFormat(" AS {0}", QuoteIdentifier(Name));
                }
            }
        }
示例#4
0
 public override void WriteInnerSql(StringBuilder sql)
 {
     Left.WriteSql(sql);
     sql.AppendFormat(" {0} ", JoinType);
     Right.WriteSql(sql);
     if (Condition != null)
     {
         sql.Append(" ON ");
         Condition.WriteSql(sql);
     }
 }
 public override void WriteSql(StringBuilder sql)
 {
     Argument.WriteSql(sql);
     if (IsNegated)
     {
         sql.Append(" NOT ");
     }
     sql.Append(" LIKE ");
     Pattern.WriteSql(sql);
     if (Escape != null)
     {
         sql.Append(" ESCAPE ");
         Escape.WriteSql(sql);
     }
 }
 public override void WriteSql(StringBuilder sql)
 {
     sql.Append("CASE");
     for (int i = 0; i < When.Count; i++)
     {
         sql.Append(" WHEN (");
         When[i].WriteSql(sql);
         sql.Append(") THEN (");
         Then[i].WriteSql(sql);
         sql.Append(") ");
     }
     if (Else != null)
     {
         sql.Append(" ELSE (");
         Else.WriteSql(sql);
         sql.Append(") ");
     }
     sql.Append("END");
 }
        public override void WriteSql(StringBuilder sql)
        {
            if (IsNegated && Operator != "=")
            {
                sql.Append("NOT (");
            }

            // do left arg
            if (WrapLeft)
            {
                sql.Append("(");
            }
            Left.WriteSql(sql);
            if (WrapLeft)
            {
                sql.Append(")");
            }

            if (IsNegated && Operator == "=")
            {
                sql.Append(" != ");
            }
            else
            {
                sql.AppendFormat(" {0} ", Operator);
            }

            // now right arg
            if (WrapRight)
            {
                sql.Append("(");
            }
            Right.WriteSql(sql);
            if (WrapRight)
            {
                sql.Append(")");
            }
            if (IsNegated && Operator != "=")
            {
                sql.Append(")");
            }
        }
 public override void WriteSql(StringBuilder sql)
 {
     Argument.WriteSql(sql);
     sql.AppendFormat(" IS {0} NULL", IsNegated ? "NOT" : "");
 }