DbExpressions.SQLiteQueryTranslator.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 "DATETIME({0}, '+{1} year')";
                case DbDateTimeFunctionExpressionType.AddMonths:
                    return "DATETIME({0}, '+{1} month')";
                case DbDateTimeFunctionExpressionType.AddDays:
                    return "DATETIME({0}, '+{1} day')";
                case DbDateTimeFunctionExpressionType.AddHours:
                    return "DATETIME({0}, '+{1} hour')";
                case DbDateTimeFunctionExpressionType.AddMinutes:
                    return "DATETIME({0}, '+{1} minute')";
                case DbDateTimeFunctionExpressionType.AddSeconds:
                    return "DATETIME({0}, '+{1} second')";
                case DbDateTimeFunctionExpressionType.AddMilliseconds:
                    return "DATE_ADD({0}, INTERVAL {1} * 1000 MICROSECOND)";
                case DbDateTimeFunctionExpressionType.Date:
                    return "DATE({0})";
                case DbDateTimeFunctionExpressionType.DayOfMonth:
                    return "STRFTIME('%d',{0})";
                case DbDateTimeFunctionExpressionType.DayOfWeek:
                    return "STRFTIME('%w',{0})";
                case DbDateTimeFunctionExpressionType.DayOfYear:
                    return "STRFTIME('%j',{0})";
                case DbDateTimeFunctionExpressionType.Year:
                    return "STRFTIME('%Y',{0})";
                case DbDateTimeFunctionExpressionType.Month:
                    return "STRFTIME('%m',{0})";
                case DbDateTimeFunctionExpressionType.Hour:
                    return "STRFTIME('%H',{0})";
                case DbDateTimeFunctionExpressionType.Minute:
                    return "STRFTIME('%M',{0})";
                case DbDateTimeFunctionExpressionType.Second:
                    return "STRFTIME('%S',{0})";
                case DbDateTimeFunctionExpressionType.MilliSecond:
                    return "(EXTRACT(MICROSECOND FROM {0}) DIV 1000)";
                case DbDateTimeFunctionExpressionType.Now:
                    return "DATETIME('now','localtime')";
                case DbDateTimeFunctionExpressionType.ToDay:
                    return "DATE('now','localtime')";

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

            }
        }