Total de visualizações de página

quinta-feira, 10 de dezembro de 2015

Modificando Data e Hora SQL Server 2008 R2

Olá essa parte eu chamo de dicas uteis do dia a dia, pois geralmente temos que alterar algum campo aonde se tem a data, muitas vezes ele está assim'20160706'  e temos que apresentar dessa forma por exemplo '06/07/2016'. 
Para isso vou apresentar algumas formas que se pode fazer com o CONVERT, então lá!!!  


No select abaixo podemos analisar algumas formas de exibir datas no SQL Server,
SELECT
               CONVERT(VARCHAR(10),GETDATE(),101)  AS  '101',
               CONVERT(VARCHAR(10),GETDATE(),102)  AS  '102',
               CONVERT(VARCHAR(10),GETDATE(),103)  AS  '103',
               CONVERT(VARCHAR(10),GETDATE(),104)  AS  '104',
               CONVERT(VARCHAR(10),GETDATE(),105)  AS  '105',
               CONVERT(VARCHAR(10),GETDATE(),106)  AS  '106',
               CONVERT(VARCHAR(12),GETDATE(),107)  AS  '107',
               CONVERT(VARCHAR(12),GETDATE(),108)  AS  '108',
               CONVERT(VARCHAR(12),GETDATE(),109)  AS  '109',
               CONVERT(VARCHAR(10),GETDATE(),110)  AS  '110',
               CONVERT(VARCHAR(10),GETDATE(),111)  AS  '111',
               CONVERT(VARCHAR(10),GETDATE(),112)  AS  '112',
               CONVERT(VARCHAR(12),GETDATE(),113)  AS  '113',
               CONVERT(VARCHAR(12),GETDATE(),114)  AS  '114',
               CONVERT(VARCHAR(10),GETDATE(),120)  AS  '120',
               CONVERT(VARCHAR(10),GETDATE(),121)  AS  '121'


Abaixo podemos ver a data corrente e já separar por dia, mês, Ano, Hora, Minuto e Segundo.
     
DECLARE  @DIA    SMALLINT
               ,@MES   SMALLINT
               ,@ANO   SMALLINT
              ,@HR     SMALLINT
              ,@MIN    SMALLINT
              ,@SEG   SMALLINT

SELECT    @DIA      = DATEPART(DAY,GETDATE())
               ,@MES    = DATEPART(MONTH,GETDATE())
               ,@ANO    = DATEPART(YEAR,GETDATE())
               ,@HR      = DATEPART(HOUR,GETDATE())
               ,@MIN     = DATEPART(MINUTE,GETDATE())
               ,@SEG    = DATEPART(SECOND,GETDATE())

SELECT  GETDATE() AS 'GETDATE( ) ORIGINAL'
             ,@DIA    AS  'DIA'
             ,@MES   AS  'MES'
       ,@ANO   AS  'ANO'
             ,@HR     AS  'HORA'
             ,@MIN    AS  'MINUTO'
             ,@SEG    AS  'SEGUNDO'

Obs: Sei que parece dicas fracas mas as vezes temos que exibir um relatório ou mostrar apenas a hora ou dia em certas querys, e sempre da aquele branco na mente de como fazer essas sintax... pois bem... é sempre bom ter um bloco de notas com essas dicas.

Até a próxima pessoal.

Um comentário:

  1. Muito bom, Show, me ajudou muito.

    Obrigado Helmut!

    Para a base que uso funcionou usando o CAST(Meu_Campo AS DATE) onde 'Meu_Campo' é a coluna data no banco.

    Ex:

    CONVERT(VARCHAR(10),CAST(Meu_Campo AS DATE),103) as DT_CADASTRO

    ResponderExcluir