Example #1
0
        public override string Translate(SqlDateTimePart dateTimePart)
        {
            switch (dateTimePart)
            {
            case SqlDateTimePart.Year:
                return("'%Y'");

            case SqlDateTimePart.Month:
                return("'%m'");

            case SqlDateTimePart.Day:
                return("'%d'");

            case SqlDateTimePart.DayOfWeek:
                return("'%w'");

            case SqlDateTimePart.DayOfYear:
                return("'%j'");

            case SqlDateTimePart.Hour:
                return("'%H'");

            case SqlDateTimePart.Minute:
                return("'%M'");

            case SqlDateTimePart.Second:
                return("'%S'");

            default:
                throw SqlHelper.NotSupported(dateTimePart.ToString());
            }
        }
        /// <inheritdoc/>
        public override string Translate(SqlDateTimePart part)
        {
            switch (part)
            {
            case SqlDateTimePart.Millisecond:
                return("MICROSECOND");

            case SqlDateTimePart.Day:
                return("DAY");

            case SqlDateTimePart.Year:
                return("YEAR");

            case SqlDateTimePart.Month:
                return("MONTH");

            case SqlDateTimePart.Hour:
                return("HOUR");

            case SqlDateTimePart.Minute:
                return("MINUTE");
            }

            return(base.Translate(part));
        }
        // Constructors

        internal SqlExtract(SqlDateTimePart dateTimePart, SqlExpression operand)
            : base(SqlNodeType.Extract)
        {
            DateTimePart       = dateTimePart;
            DateTimeOffsetPart = SqlDateTimeOffsetPart.Nothing;
            IntervalPart       = SqlIntervalPart.Nothing;
            Operand            = operand;
        }
        /// <inheritdoc/>
        public override string Translate(SqlDateTimePart dateTimePart)
        {
            switch (dateTimePart)
            {
            case SqlDateTimePart.DayOfYear:
                return("YEARDAY");

            case SqlDateTimePart.DayOfWeek:
                return("WEEKDAY");
            }
            return(base.Translate(dateTimePart));
        }
        public override string Translate(SqlDateTimePart part)
        {
            switch (part)
            {
            case SqlDateTimePart.DayOfWeek:
            case SqlDateTimePart.DayOfYear:
                throw new NotSupportedException();

            case SqlDateTimePart.Millisecond:
                return("SECOND");

            default:
                return(base.Translate(part));
            }
        }
        public override string Translate(SqlDateTimePart part)
        {
            switch (part)
            {
            case SqlDateTimePart.Millisecond:
                return("MILLISECONDS");

            case SqlDateTimePart.DayOfYear:
                return("DOY");

            case SqlDateTimePart.DayOfWeek:
                return("DOW");
            }

            return(base.Translate(part));
        }