Lucas's profileLucas Souza [MCP | MCTS ...PhotosBlogListsMore Tools Help

Blog


    August 12

    SQL Server - Dicas ao utilizar datetime

    A Paz do Senhor Esteja Convosco,
     
    Estarei trazendo para todos vocês hoje uma dica em relação á hora/minuto no SQL Server, no entanto vale para qualquer versão/edição, todavia estarei utilizando a edição 2008.
     

    Propriedade

    Resultado 

    Sintaxe

    Data e Hora

    Exemplo

    DECLARE @VarDataTime datetime

    CREATE TABLE TableDateTime ( ColumnDateTime datetime )

    Intervalo de data

    Janeiro 1, 1753, á Dezembro 31, 9999

    Intervalo de tempo

    00:00:00 á 23:59:59.997

    Elementos de intervalo

    YYYY quatro digitos de 1753 á 9999 pelo qual representa o ano.

    MM dois digitos, intervalo de 01 á 12, representando assim o mês no ano especificado.

    DD dois digitos, intervalo de 01 á 31, dependendo do mês representa o dia do mês especificado.

    hh dois digitos, intervalo de 00 á 23, representando hora.

    mm dois digitos, intervalo de 00 á 59, representado minuto.

    ss dois digitos, intervalo de 00 á 59, representando segundo.

    n* de zero para representa três digitos, intervalo de 0 á 999, representa frações em segundos.

    Tamanho caractere

    19 posições mínima á 23 máxima.

    Tamanho armazenado

    8 bytes

    Precisão

    Incrementando o arredondamento de .000, .003, ou .007 segundos.

    Resultado Padrão

    1900-01-01 00:00:00

    Calendário

    Gregoriano (Não incluí intervalos de anos.)

     
    Bem, vamos agora ao que interessa.
     
    Primeiramente se por acaso quisermos saber os resultados referente á hora, minuto e segundo no SQL Server 2000 e 2005 podemos executar á instrução abaixo:

    SELECT

       CONVERT(VARCHAR(8),GETDATE(),108) AS HoraMinutoSegundo
    GO

    Podemos também saber em que dia estamos:

    SELECT

       CONVERT(VARCHAR(8),GETDATE(),101) AS DateOnly
    GO
     
    Quando passamos á utilizar o SQL Server 2008 nos torna mais fácil até porque temos novos tipos de dados, por exemplo: date, time, entre outros...
     

    SELECT
      

    CONVERT(TIME,GETDATE()) AS HoraMinutoSegundo,
      
    CONVERT(DATE,GETDATE(),101) AS ApenasData
    GO

    datetime
    http://msdn.microsoft.com/en-us/library/ms187819.aspx

    OBS: Estes tipos de dados citados acima (TIME,DATE) estão dísponiveis apenas na edição 2008.
     
    []´s
     
    Lucas Souza