SQL Servr : SET statement for interval dates












0















Is it possible to have a code that is similar to this logic:



DECLARE @LAST_MONTH
SET @LAST_MONTH = BETWEEN DATEADD(mm,-1,GETDATE()) AND DATEADD(mm,-2,GETDATE())


Except, this code doesn't work.










share|improve this question




















  • 1





    What is the logic you are trying to implement?

    – rs.
    Nov 13 '18 at 17:15
















0















Is it possible to have a code that is similar to this logic:



DECLARE @LAST_MONTH
SET @LAST_MONTH = BETWEEN DATEADD(mm,-1,GETDATE()) AND DATEADD(mm,-2,GETDATE())


Except, this code doesn't work.










share|improve this question




















  • 1





    What is the logic you are trying to implement?

    – rs.
    Nov 13 '18 at 17:15














0












0








0








Is it possible to have a code that is similar to this logic:



DECLARE @LAST_MONTH
SET @LAST_MONTH = BETWEEN DATEADD(mm,-1,GETDATE()) AND DATEADD(mm,-2,GETDATE())


Except, this code doesn't work.










share|improve this question
















Is it possible to have a code that is similar to this logic:



DECLARE @LAST_MONTH
SET @LAST_MONTH = BETWEEN DATEADD(mm,-1,GETDATE()) AND DATEADD(mm,-2,GETDATE())


Except, this code doesn't work.







sql-server






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 13 '18 at 17:13









marc_s

574k12811091256




574k12811091256










asked Nov 13 '18 at 17:10







user10311536















  • 1





    What is the logic you are trying to implement?

    – rs.
    Nov 13 '18 at 17:15














  • 1





    What is the logic you are trying to implement?

    – rs.
    Nov 13 '18 at 17:15








1




1





What is the logic you are trying to implement?

– rs.
Nov 13 '18 at 17:15





What is the logic you are trying to implement?

– rs.
Nov 13 '18 at 17:15












1 Answer
1






active

oldest

votes


















1














You need two variables... a startdate and an enddate



Using this post, here is how.



declare @startdate date = (select DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0)) --First day of previous month
declare @enddate date = (select DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, -1)) --Last Day of previous month


Then, use these in your where clause:



select...
from ...
where dateCol between @startdate and @enddate





share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53286266%2fsql-servr-set-statement-for-interval-dates%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown
























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    You need two variables... a startdate and an enddate



    Using this post, here is how.



    declare @startdate date = (select DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0)) --First day of previous month
    declare @enddate date = (select DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, -1)) --Last Day of previous month


    Then, use these in your where clause:



    select...
    from ...
    where dateCol between @startdate and @enddate





    share|improve this answer




























      1














      You need two variables... a startdate and an enddate



      Using this post, here is how.



      declare @startdate date = (select DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0)) --First day of previous month
      declare @enddate date = (select DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, -1)) --Last Day of previous month


      Then, use these in your where clause:



      select...
      from ...
      where dateCol between @startdate and @enddate





      share|improve this answer


























        1












        1








        1







        You need two variables... a startdate and an enddate



        Using this post, here is how.



        declare @startdate date = (select DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0)) --First day of previous month
        declare @enddate date = (select DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, -1)) --Last Day of previous month


        Then, use these in your where clause:



        select...
        from ...
        where dateCol between @startdate and @enddate





        share|improve this answer













        You need two variables... a startdate and an enddate



        Using this post, here is how.



        declare @startdate date = (select DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0)) --First day of previous month
        declare @enddate date = (select DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, -1)) --Last Day of previous month


        Then, use these in your where clause:



        select...
        from ...
        where dateCol between @startdate and @enddate






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 13 '18 at 17:12









        scsimonscsimon

        22k51536




        22k51536






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53286266%2fsql-servr-set-statement-for-interval-dates%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Florida Star v. B. J. F.

            Danny Elfman

            Lugert, Oklahoma