sexta-feira, 27 de maio de 2011

#14 - DATAS

Algumas funções bem interessante sobre datas do SQL Server, alguma delas podem ser úteis para sua vida.


select DATEPART(dw, GETDATE()) as 'DIA'
DIA
-----------
6



SELECT      GETDATE() AS 'Today',
            GETDATE() + 10 AS '10 dias a mais',
            GETDATE() - 10 AS '10 dias atrás'


Today                                    10 dias a mais                      10 dias atrás
-----------------------             -----------------------                  -----------------------
2011-05-27 11:19:11.570  2011-06-06 11:19:11.570            2011-05-17 11:19:11.570

SELECT      DAY  ( GETDATE() ) AS 'DIA',
            MONTH( GETDATE() ) AS 'Mês',
            YEAR ( GETDATE() ) AS 'Ano'


DIA         Mês         Ano
----------- ----------- -----------
27          5           2011






SELECT      DATEPART(DAY,   GETDATE()) AS 'Dia',
            DATEPART(MONTH, GETDATE()) AS 'Mês',
            DATEPART(YEAR,  GETDATE()) AS 'Ano',
            DATEPART(HOUR,   GETDATE()) AS 'Hora',
            DATEPART(MINUTE, GETDATE()) AS 'Minuto',
            DATEPART(SECOND, GETDATE()) AS 'Segundo'




Dia     Mês       Ano       Hora        Minuto      Segundo
------ --------- --------- ---------- ----------- -----------
27          5        2011        11          35          10









SELECT      GETDATE() AS 'Today',
            DATEADD(DAY,   10, GETDATE()) AS '10 Dias a mais',
            DATEADD(DAY,  -10, GETDATE()) AS '10 Dias atrás',
            DATEADD(MONTH,  1, GETDATE()) AS 'Próximo Mês',
            DATEADD(MONTH, -1, GETDATE()) AS 'Mês Anterior',
            DATEADD(YEAR,   1, GETDATE()) AS 'Próximo Ano',
            DATEADD(YEAR,  -1, GETDATE()) AS 'Ano Passado'







DECLARE     @Today      DATETIME = GETDATE()
DECLARE     @IDay       DATETIME = '2011-05-27 08:30:00'

SELECT DATEDIFF(DAY, @Today, @IDay) AS 'Days Left',
       DATEDIFF(MONTH, @Today, @IDay) AS 'Months Left',
       DATEDIFF(YEAR, @Today, @IDay) AS  'Years Left',
       DATEDIFF(QUARTER, @Today, @IDay) AS   'Quarters Left',
       DATEDIFF(HOUR, @Today, @IDay) AS     'Hours Left',
       DATEDIFF(MINUTE, @Today, @IDay) AS    'Minutes Left',
       DATEDIFF(SECOND, @Today, @IDay) AS    'Seconds Left'


Days Left   Months Left Years Left  Quarters Left Hours Left  Minutes Left Seconds Left
----------- ----------- ----------- ------------- ----------- ------------ ------------
-385        -12         -1          -4            -9243       -554590      -33275437


Nenhum comentário:

Postar um comentário