Example #1
0
        protected override void WriteFunctionCall(SqlCallExpression callExpr, StringBuilder writer)
        {
            if (callExpr.Method.Name == nameof(Function.Hour))
            {
                writer.Append("DATEPART(HOUR, ");

                var dateExpr = callExpr.Arguments[0];
                WriteExpression(dateExpr, writer);

                writer.Append(")");
            }
            else if (callExpr.Method.Name == nameof(Function.Minute))
            {
                writer.Append("DATEPART(MINUTE, ");

                var dateExpr = callExpr.Arguments[0];
                WriteExpression(dateExpr, writer);

                writer.Append(")");
            }
            else if (callExpr.Method.Name == nameof(Function.Second))
            {
                writer.Append("DATEPART(SECOND, ");

                var dateExpr = callExpr.Arguments[0];
                WriteExpression(dateExpr, writer);

                writer.Append(")");
            }
            else
            {
                base.WriteFunctionCall(callExpr, writer);
            }
        }
Example #2
0
        protected override void WriteFunctionCall(SqlCallExpression callExpr, StringBuilder writer)
        {
            if (callExpr.Method.Name == nameof(Function.Year))
            {
                writer.Append("CAST(EXTRACT(YEAR FROM ");

                var dateExpr = callExpr.Arguments[0];
                WriteExpression(dateExpr, writer);

                writer.Append(") AS INT)");
            }
            else if (callExpr.Method.Name == nameof(Function.Month))
            {
                writer.Append("CAST(EXTRACT(MONTH FROM ");

                var dateExpr = callExpr.Arguments[0];
                WriteExpression(dateExpr, writer);

                writer.Append(") AS INT)");
            }
            else if (callExpr.Method.Name == nameof(Function.Day))
            {
                writer.Append("CAST(EXTRACT(DAY FROM ");

                var dateExpr = callExpr.Arguments[0];
                WriteExpression(dateExpr, writer);

                writer.Append(") AS INT)");
            }
            else
            if (callExpr.Method.Name == nameof(Function.Hour))
            {
                writer.Append("CAST(EXTRACT(HOUR FROM ");

                var dateExpr = callExpr.Arguments[0];
                WriteExpression(dateExpr, writer);

                writer.Append(") AS INT)");
            }
            else if (callExpr.Method.Name == nameof(Function.Minute))
            {
                writer.Append("CAST(EXTRACT(MINUTE FROM ");

                var dateExpr = callExpr.Arguments[0];
                WriteExpression(dateExpr, writer);

                writer.Append(") AS INT)");
            }
            else if (callExpr.Method.Name == nameof(Function.Second))
            {
                writer.Append("CAST(EXTRACT(SECOND FROM ");

                var dateExpr = callExpr.Arguments[0];
                WriteExpression(dateExpr, writer);

                writer.Append(") AS INT)");
            }
            else
            {
                base.WriteFunctionCall(callExpr, writer);
            }
        }