protected override string GetFieldFunction(Irowsource qualifier, selectfield f, bool aliasthis)
        {
            string sx;

            switch (f.Function.func)
            {
            case selectfunctiondef.lpad:
                // LPad(field,length,'0')
                sx = String.Format("LPAD({0},{1},'{2}')", GetQualifiedFieldname(qualifier, f, true), f.PaddingLength, f.PaddingChar);
                break;

            case selectfunctiondef.ft_rownumber:
                /* introduced [dlatikay 20110922] for fulltext search */
                sx = String.Format("MATCH(Chunk) AGAINST (?token)");
                break;

            default:
                return(base.GetFieldFunction(qualifier, f, aliasthis));
            }
            /* finalize */
            if (f.AsName != null && f.AsName.Length > 0)
            {
                return(sx + " AS " + QuoteFieldname(f.AsName));
            }
            else if (aliasthis)
            {
                return(sx + " AS " + QuoteFieldname(f.Fieldname));
            }
            else
            {
                return(sx);
            }
        }
Beispiel #2
0
        protected override string GetFieldFunction(Irowsource qualifier, selectfield f, bool aliasthis)
        {
            string sx;

            switch (f.Function.func)
            {
            case selectfunctiondef.lpad:
                // RIGHT(REPLICATE(N'0',18)+field1,18)
                sx = String.Format("RIGHT(REPLICATE(N'{1}',{0})+{2},{3})", f.PaddingLength, f.PaddingChar, GetQualifiedFieldname(qualifier, f, true), f.PaddingLength);
                break;

            case selectfunctiondef.month:
                /* [dlatikay 20110613] */
                sx = String.Format("DATEPART(month,{0})", GetQualifiedFieldname(qualifier, f, true));
                break;

            case selectfunctiondef.year:
                /* [dlatikay 20161021] */
                sx = String.Format("DATEPART(year,{0})", GetQualifiedFieldname(qualifier, f, true));
                break;

            case selectfunctiondef.hour:
                /* [dlatikay 20110613] */
                sx = String.Format("DATEPART(hour,{0})", GetQualifiedFieldname(qualifier, f, true));
                break;

            case selectfunctiondef.quarter:
                /* [dlatikay 20110613] */
                sx = String.Format("DATEPART(quarter,{0})", GetQualifiedFieldname(qualifier, f, true));
                break;

            case selectfunctiondef.dayofweek:
                /* [dlatikay 20110613] */
                sx = String.Format("DATEPART(dw,{0})", GetQualifiedFieldname(qualifier, f, true));     /* ranging 1-7 */
                break;

            case selectfunctiondef.ft_rownumber:
                /* introduced [dlatikay 20110922] for fulltext search */
                sx = String.Format("ROW_NUMBER() OVER (ORDER BY F1.RANK DESC)");                              /* DL90384902390423942HJHJ394839 */
                RegisterParameter(new selectparam(db.MakeParamName("Token"), DbType.StringFixedLength, 255)); /* DL9284293042JJHJJ9899 for reason why this is here */
                break;

            default:
                return(base.GetFieldFunction(qualifier, f, aliasthis));
            }
            /* qualifier/asname logic */
            if (f.AsName != null && f.AsName.Length > 0)
            {
                return(sx + " AS " + QuoteFieldname(f.AsName));
            }
            else if (aliasthis)
            {
                return(sx + " AS " + QuoteFieldname(f.Fieldname));
            }
            else
            {
                return(sx);
            }
        }
Beispiel #3
0
        public static selectfield SortByAlreadyDefinedField(selectfield fld, sortorder order)
        {
            var sortfield = fld.Clone();

            sortfield.Ascending  = order == sortorder.so_asc;
            sortfield.Descending = order == sortorder.so_desc;
            return(sortfield);
        }
Beispiel #4
0
 public param(selectparam parm)
 {
     field = parm;
 }
Beispiel #5
0
 public param(string name)
 {
     field = new selectfield(selectfunctiondef.param, name);
 }
Beispiel #6
0
 public operand(string fld)
 {
     field = new selectfield(fld);
 }
Beispiel #7
0
 public operand(selectfield fld)
 {
     field = fld;
 }
Beispiel #8
0
        protected override string GetFieldFunction(Irowsource qualifier, selectfield f, bool aliasthis)
        {
            string sx;

            switch (f.Function.func)
            {
            case selectfunctiondef.lpad:
                // LPad(field,length,'0')
                sx = String.Format("LPad({0},{1},'{2}')", GetQualifiedFieldname(qualifier, f, true), f.PaddingLength, f.PaddingChar);
                break;

            case selectfunctiondef.sp_hoursworked1:
                /* added [dlatikay 20101124]:
                 * cast(sum(hw.hoursworked/(to_date('01/'|| to_char(hw.calendarmonth+1) ||'/' || hw.calendaryear,'dd/mm/yyyy')-to_date('01/'|| hw.calendarmonth ||'/' || hw.calendaryear,'dd/mm/yyyy'))) as number(9,0))
                 * cast(sum({0}/(to_char(LAST_DAY(to_date('01/'|| CalendarMonth ||'/' || CalendarYear,'dd/mm/yyyy')),'DD'))) as number(9,0)) AS HoursWorked */
                sx = String.Format("cast(sum({0}/(to_char(LAST_DAY(to_date('01/'|| CalendarMonth ||'/' || CalendarYear,'dd/mm/yyyy')),'DD'))) as number(9,0))",
                                   GetQualifiedFieldname(qualifier, f, true)
                                   );
                break;

            case selectfunctiondef.month:
                /* [dlatikay 20110613] */
                sx = String.Format("to_number(to_char({0},'MM'))", GetQualifiedFieldname(qualifier, f, true));     /* ranging 1-12 */
                break;

            case selectfunctiondef.year:
                /* [dlatikay 20161021] */
                sx = String.Format("to_number(to_char({0},'YYYY'))", GetQualifiedFieldname(qualifier, f, true));     /* ranging 0000-9999 */
                break;

            case selectfunctiondef.hour:
                /* [dlatikay 20110613] */
                sx = String.Format("to_number(to_char({0},'HH24'))", GetQualifiedFieldname(qualifier, f, true));     /* ranging 0-23 */
                break;

            case selectfunctiondef.quarter:
                /* [dlatikay 20110613] */
                sx = String.Format("to_number(to_char({0},'Q'))", GetQualifiedFieldname(qualifier, f, true));     /* ranging 1-4 */
                break;

            case selectfunctiondef.dayofweek:
                /* [dlatikay 20110613] */
                sx = String.Format("to_number(to_char({0},'D'))", GetQualifiedFieldname(qualifier, f, true));     /* ranging 1-7, as opposed to "W"! */
                break;

            default:
                return(base.GetFieldFunction(qualifier, f, aliasthis));
            }
            /* finalize */
            if (f.AsName != null && f.AsName.Length > 0)
            {
                return(sx + " AS " + QuoteFieldname(f.AsName));
            }
            else if (aliasthis)
            {
                return(sx + " AS " + QuoteFieldname(f.Fieldname));
            }
            else
            {
                return(sx);
            }
        }