コード例 #1
0
ファイル: Expression.cs プロジェクト: blockheadbunny/oosql
        /// <summary>Convierte el valor en el tipo indicado</summary>
        public static Expression Convert(dbTyp type, Expression expr, params int[] ranges)
        {
            Expression exprType = (Expression)type.ToString().ToUpper();

            if (ranges.Length > 0)
            {
                exprType = exprType.Operate(dbOpe.In, ranges[0].ToString());
            }
            exprType = exprType.Operate(dbOpe.Comma, expr);
            return(exprType.Fun(dbFun.Convert));
        }
コード例 #2
0
 /// <summary>Convierte el valor en el tipo indicado</summary>
 public static Expression Cast(Expression expr, dbTyp type, params int[] ranges)
 {
     expr = expr.Operate(dbOpe.As, type.ToString().ToUpper());
     if (ranges.Length > 0)
     {
         Expression inExpr = (Expression)ranges[0];
         for (int i = 1; i < ranges.Length; i++)
         {
             inExpr = inExpr.Operate(dbOpe.Comma, ranges[i].ToString());
         }
         expr = expr.Operate(dbOpe.In, inExpr);
     }
     return(expr.Fun(dbFun.Cast));
 }
コード例 #3
0
ファイル: Expression.cs プロジェクト: blockheadbunny/oosql
 /// <summary>Converts value into selected data type</summary>
 private static Expression Cast(Expression expr, dbTyp type, dbSiz size, params int[] ranges)
 {
     expr = expr.Operate(dbOpe.As, type.ToString().ToUpper());
     if (size == dbSiz.Max)
     {
         Expression inExpr = (Expression)dbSiz.Max.ToString().ToUpper();
         expr = expr.Operate(dbOpe.In, inExpr);
         return(expr.Fun(dbFun.Cast));
     }
     else
     {
         if (ranges.Length > 0)
         {
             Expression inExpr = (Expression)ranges[0];
             for (int i = 1; i < ranges.Length; i++)
             {
                 inExpr = inExpr.Operate(dbOpe.Comma, ranges[i].ToString());
             }
             expr = expr.Operate(dbOpe.In, inExpr);
         }
     }
     return(expr.Fun(dbFun.Cast));
 }
コード例 #4
0
ファイル: Expression.cs プロジェクト: blockheadbunny/oosql
 /// <summary>Converts value into selected data type with max as size</summary>
 public Expression CastMax(dbTyp type)
 {
     return(Expression.Cast(this, type, dbSiz.Max));
 }
コード例 #5
0
ファイル: Expression.cs プロジェクト: blockheadbunny/oosql
 /// <summary>Converts value into selected data type</summary>
 public Expression Cast(dbTyp type, params int[] range)
 {
     return(Expression.Cast(this, type, dbSiz.Other, range));
 }
コード例 #6
0
ファイル: Expression.cs プロジェクト: blockheadbunny/oosql
 /// <summary>Converts value into selected data type with max as size</summary>
 public static Expression CastMax(Expression expr, dbTyp type)
 {
     return(Cast(expr, type, dbSiz.Max));
 }
コード例 #7
0
ファイル: Expression.cs プロジェクト: blockheadbunny/oosql
 /// <summary>Converts value into selected data type</summary>
 public static Expression Cast(Expression expr, dbTyp type, params int[] ranges)
 {
     return(Cast(expr, type, dbSiz.Other, ranges));
 }