Beispiel #1
0
        /// <summary>
        /// NOT BETWEEN...AND 子句。
        /// </summary>
        /// <param name="fieldOrexp">字段信息或表达式。</param>
        /// <param name="start">开始值。</param>
        /// <param name="end">结束值。</param>
        /// <returns></returns>
        public static FunDescription NotBetweenAnd(object fieldOrexp, object start, object end)
        {
            FunDescription f = new FunDescription();

            f.FunctionName = "NOTBETWEENAND";
            f.Parameter    = new object[] { fieldOrexp, start, end };
            return(f);
        }
Beispiel #2
0
        /// <summary>
        /// IS NOT NULL 函数。
        /// </summary>
        /// <returns></returns>
        public FunDescription IsNotNull()
        {
            FunDescription f = new FunDescription();

            f.FunctionName = "ISNOTNULL";
            f.Parameter    = this;
            return(f);
        }
Beispiel #3
0
        /// <summary>
        /// 字符串截取函数。
        /// </summary>
        /// <param name="str">要截取的字符串。</param>
        /// <param name="start">开始截取的位置。</param>
        /// <param name="length">截取数量。</param>
        /// <returns></returns>
        public static FunDescription Substring(object expression, int start, int length)
        {
            FunDescription f = new FunDescription();

            f.FunctionName = "SUBSTRING";
            f.Parameter    = new object[] { expression, start, length };
            return(f);
        }
Beispiel #4
0
        /// <summary>
        /// IS NOT NULL 函数。
        /// </summary>
        /// <param name="parameter">参数(一般为字段信息)。</param>
        /// <returns></returns>
        public static FunDescription IsNotNull(object parameter)
        {
            FunDescription f = new FunDescription();

            f.FunctionName = "ISNOTNULL";
            f.Parameter    = parameter;
            return(f);
        }
Beispiel #5
0
        /// <summary>
        /// 获取长度函数。
        /// </summary>
        /// <param name="parameter">函数参数。</param>
        /// <returns></returns>
        public static FunDescription Len(object parameter)
        {
            FunDescription f = new FunDescription();

            f.FunctionName = "LEN";
            f.Parameter    = parameter;
            return(f);
        }
Beispiel #6
0
        /// <summary>
        /// 返回给定日期整型部份的数据。
        /// </summary>
        /// <param name="interval">日期时间中对应的部份。
        /// <para>SQLite不支持此函数。</para>
        /// </param>
        /// <param name="thedate">日期时间。</param>
        /// <returns></returns>
        public static FunDescription DatePart(DateInterval interval, object thedate)
        {
            FunDescription f = new FunDescription();

            f.FunctionName = "DATEPART";
            f.Parameter    = new object[] { interval, thedate };
            return(f);
        }
Beispiel #7
0
        /// <summary>
        /// 获取当前日期时间函数。
        /// </summary>
        /// <param name="parameter">函数参数。</param>
        /// <returns></returns>
        public static FunDescription Now(object parameter = null)
        {
            FunDescription f = new FunDescription();

            f.FunctionName = "NOW";
            f.Parameter    = parameter;
            return(f);
        }
Beispiel #8
0
        /// <summary>
        /// 统计函数。
        /// </summary>
        /// <param name="parameter">函数参数。</param>
        /// <returns></returns>
        public static FunDescription Count(object parameter)
        {
            FunDescription f = new FunDescription();

            f.FunctionName = "COUNT";
            f.Parameter    = parameter;
            return(f);
        }
Beispiel #9
0
        /// <summary>
        /// 去重复值的字段列表。
        /// </summary>
        /// <param name="parameter">字段列表(单个或多个字段,注:某些数据库可能不支持多字段去重复值)。</param>
        /// <returns></returns>
        public static FunDescription Distinct(params FieldDescription[] parameter)
        {
            FunDescription f = new FunDescription();

            f.FunctionName = "DISTINCT";
            f.Parameter    = parameter;
            return(f);
        }
Beispiel #10
0
        /// <summary>
        /// 表达式的 NotIn 函数支持.
        /// </summary>
        /// <param name="values"></param>
        /// <returns></returns>
        public FunDescription NotIn(object[] values)
        {
            FunDescription f = new FunDescription();

            f.FunctionName = "NOTIN";
            List <object> buf = new List <object>();

            buf.Add(this);
            buf.AddRange(values);
            f.Parameter = buf.ToArray();
            return(f);
        }
Beispiel #11
0
        /// <summary>
        /// 表达式的 NotIn 函数支持.
        /// </summary>
        /// <param name="select">条件查询.</param>
        /// <returns></returns>
        public FunDescription NotIn(IDescription select)
        {
            FunDescription f = new FunDescription();

            f.FunctionName = "NOTIN";
            List <object> buf = new List <object>();

            buf.Add(this);
            buf.Add(select);
            f.Parameter = buf.ToArray();
            return(f);
        }
Beispiel #12
0
        /// <summary>
        /// IN 函数。
        /// </summary>
        /// <param name="field">字段信息。</param>
        /// <param name="values">In函数的值。</param>
        /// <returns></returns>
        public static FunDescription In(FieldDescription field, object[] values)
        {
            FunDescription f = new FunDescription();

            f.FunctionName = "IN";
            List <object> buf = new List <object>();

            buf.Add(field);
            buf.AddRange(values);
            f.Parameter = buf.ToArray();
            return(f);
        }
Beispiel #13
0
        /// <summary>
        /// IN 函数。
        /// </summary>
        /// <param name="field">字段信息。</param>
        /// <param name="select">嵌套子查询。</param>
        /// <returns></returns>
        public static FunDescription In(FieldDescription field, IDescription select)
        {
            FunDescription f = new FunDescription();

            f.FunctionName = "IN";
            List <object> buf = new List <object>();

            buf.Add(field);
            buf.Add(select);
            f.Parameter = buf.ToArray();
            return(f);
        }