DbExpressions.MySqlQueryTranslator.GetDateTimeFunctionBody C# (CSharp) Method

GetDateTimeFunctionBody() private static method

private static GetDateTimeFunctionBody ( DbDateTimeFunctionExpressionType dateTimeFunctionExpressionType ) : string
dateTimeFunctionExpressionType DbDateTimeFunctionExpressionType
return string
        private static string GetDateTimeFunctionBody(DbDateTimeFunctionExpressionType dateTimeFunctionExpressionType)
        {
            switch (dateTimeFunctionExpressionType)
            {
                case DbDateTimeFunctionExpressionType.AddYears:
                    return "DATE_ADD({0}, INTERVAL {1} YEAR)";
                case DbDateTimeFunctionExpressionType.AddMonths:
                    return "DATE_ADD({0}, INTERVAL {1} MONTH)";
                case DbDateTimeFunctionExpressionType.AddDays:
                    return "DATE_ADD({0}, INTERVAL {1} DAY)";
                case DbDateTimeFunctionExpressionType.AddHours:
                    return "DATE_ADD({0}, INTERVAL {1} HOUR)";
                case DbDateTimeFunctionExpressionType.AddMinutes:
                    return "DATE_ADD({0}, INTERVAL {1} MINUTE)";
                case DbDateTimeFunctionExpressionType.AddSeconds:
                    return "DATE_ADD({0}, INTERVAL {1} SECOND)";
                case DbDateTimeFunctionExpressionType.AddMilliseconds:
                    return "DATE_ADD({0}, INTERVAL {1} * 1000 MICROSECOND)";
                case DbDateTimeFunctionExpressionType.Date:
                    return "DATE({0})";
                case DbDateTimeFunctionExpressionType.DayOfMonth:
                    return "EXTRACT(DAY FROM {0})";
                case DbDateTimeFunctionExpressionType.DayOfWeek:
                    return "WEEKDAY({0})";
                case DbDateTimeFunctionExpressionType.DayOfYear:
                    return "DAYOFYEAR({0})";
                case DbDateTimeFunctionExpressionType.Year:
                    return "EXTRACT(YEAR FROM {0})";
                case DbDateTimeFunctionExpressionType.Month:
                    return "EXTRACT(MONTH FROM {0})";
                case DbDateTimeFunctionExpressionType.Hour:
                    return "EXTRACT(HOUR FROM {0})";
                case DbDateTimeFunctionExpressionType.Minute:
                    return "EXTRACT(MINUTE FROM {0})";
                case DbDateTimeFunctionExpressionType.Second:
                    return "EXTRACT(SECOND FROM {0})";
                case DbDateTimeFunctionExpressionType.MilliSecond:
                    return "(EXTRACT(MICROSECOND FROM {0}) DIV 1000)";
                case DbDateTimeFunctionExpressionType.Now:
                    return "CURRENT_TIMESTAMP()";
                case DbDateTimeFunctionExpressionType.ToDay:
                    return "CURRENT_DATE()";

                default:
                    throw new ArgumentOutOfRangeException("dateTimeFunctionExpressionType",
                                                          string.Format(
                                                              "The DateTimeFunctionExpressionType '{0}' is not supported",
                                                              dateTimeFunctionExpressionType));

            }
        }