Welcome to Sign in | Help
in Search

Problema cu date

Last post 04-09-2010, 3:38 PM by rsocol. 6 replies.
Sort Posts: Previous Next
  •  03-26-2010, 10:16 AM 8140

    Problema cu date

    Cum pot afla daca orice zi din luna curenta se afla intre 2 date ?
    Sorin Sandu
  •  03-26-2010, 10:25 AM 8141 in reply to 8140

    Re: Problema cu date

    getdate() between  ? and ?

    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  03-26-2010, 10:40 AM 8142 in reply to 8141

    Re: Problema cu date

    Atentie la "miezul noptii", vezi
    http://blogs.solidq.com/EN/Conferences/Articles/Wiki%20Pages/Machanic%20DateTime.aspx
  •  03-26-2010, 11:42 AM 8143 in reply to 8141

    Re: Problema cu date

    Nu trebuie sa folosesc doar getdate().
    Imi trebuie sa verific ca toate zilele din luna respectiva sa fie intre alte 2 date.
    Sorin Sandu
  •  03-26-2010, 12:08 PM 8144 in reply to 8143

    Re: Problema cu date

    Punctul de plecare este aici.

    DECLARE @pData DATETIME = GETDATE()

    DECLARE @primaZi DATETIME = DATEADD(MONTH,DATEDIFF(MONTH,0,@pData),0)
    DECLARE @ultimaZi DATETIME = DATEADD(MONTH,DATEDIFF(MONTH,-1,@pData),-1)


    ;WITH DateTest(Data)
    AS
    (
    SELECT '2010-01-31'
    UNION ALL
    SELECT '2010-02-20'
    UNION ALL
    SELECT '2010-03-15'
    UNION ALL
    SELECT '2010-04-25'
    )
    SELECT @pData AS DataReper,
      D1.Data AS DataStart,
      D2.Data AS DataStop,
      CASE WHEN D1.Data <= @primaZi AND @ultimaZi <= D2.Data THEN 'DA' ELSE 'NU' END AS RezultatTest
    FROM DateTest AS D1 CROSS JOIN DateTest AS D2
    WHERE D1.Data < D2.Data
    ORDER BY D1.Data, D2.Data

  •  03-26-2010, 12:27 PM 8145 in reply to 8144

    Re: Problema cu date

    Problema mea este in felul urmaor.
    Trebuie sa selectez dintr-o tabela cu persoane care are 2 campuri data_incep si data_sfarsit toate pesroanele care se incadreaza cu orice zi din luna asta intre cele 2 date. De ex o pers poate avea data_sfarsit pe 02.03.2010 si trebuie sa apara selectata.
    De asmeni o pers poate sa aiba data_incep pe 15.03.2010 si trebuie si ea sa apara.
    Sorin Sandu
  •  04-09-2010, 3:38 PM 8182 in reply to 8145

    Re: Problema cu date

    Incearcă ceva de genul:

    DECLARE @pData DATETIME = GETDATE()

    DECLARE @primaZi DATETIME = DATEADD(MONTH,DATEDIFF(MONTH,0,@pData),0)
    DECLARE @ultimaZi DATETIME = DATEADD(MONTH,DATEDIFF(MONTH,-1,@pData),-1)

    SELECT * FROM persoane WHERE data_incep <= @ultimaZi AND data_sfarsit >= @primaZi

    Razvan

View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems