Novos Tipos de Dados no Microsoft SQL Server 2008
Em breve teremos uma nova versão do SGBD da Microsoft, o SQL Server 2008. É verdade que o mercado ainda não absorveu a versão anterior lançada em Novembro de 2005, porém em virtude de vários motivos e dentre eles o lançamento do Visual Studio 2008, muitos recursos foram incorporados nesta nova versão, possibilitando maior escalabilidade, confiança e segurança. Iniciaremos uma série de artigos, objetivando cobrir estas novas funcionalidades do SQL Server 2008. Começaremos abordando os novos tipos de dados que foram implementados.
Desde as primeiras versões, os administradores de banco de dados do Microsoft SQL Server têm esperado a possibilidade que dois tipos de dados diferentes, onde você pudesse armazenar hora e data separadamente estivesse disponível para uso. Contudo até a versão SQL Server 2005 nada ainda tinha sido feito. Esta longa espera termina nesta nova versão. Nas versões anteriores, o armazenamento de tipos de dados de data e hora era feito utilizando um único tipo (DATETIME) e nele eram armazenados tanto o valor da data como da hora.
Finalmente, no SQL Server 2008, a Microsoft está apresentando um conjunto de novos tipos de dados para armazenar Data, Hora, e, Data e Hora juntos. Os novos tipos de dados armazenam mais dados, isso significa que você pode armazenar o valor da data de 01-01-01 a 9999-12-31, e, também armazenar a hora até a fração de 9999999.
Este artigo ilustra o uso e a funcionalidade de diferentes tipos de dados no Microsoft SQL Server 2008, como data, hora, data e hora, datetime2 e datetimeoffset.
Observação: Este artigo foi feito com base no Microsoft SQL Server 2008 – CTP Nov no Windows Server 2003.
TIME
O tipo de dado TIME é usado principalmente para armazenar a hora de um dia. Isso inclui horas, minutos, segundos etc.. Ele se baseia no relógio de 24-horas. O tipo de dado TIME pode armazenar segundos até a fração de 9999999. Vamos declarar uma variável com o tipo de dado TIME e armazenar alguns dados.
O resultado é mostrado na figura abaixo.
Quando você declarar uma variável do tipo de dado TIME sem nenhuma precisão, o SQL Server 2008 assume uma precisão de 7 dígitos como mostrado na figura abaixo.
O intervalo de tempo é de 00:00:00 a 23:59:59.9999999. Nós podemos limitar a precisão o tipo de dados como mostrado abaixo.
DATE
O tipo de dados DATE é usado para armazenar apenas a data. Isso inclui mês, dia e ano. O valor da data pode ser entre 01-01-01 a 9999-12-31. Vamos declarar uma variável com o tipo de dado DATE e armazenar algumas datas.
O resultado é mostrado na figura a seguir.
DATETIME2
O tipo de dado DATETIME2 é uma combinação dos tipos de dados DATE e TIME. DATETIME2 deve ser usado quando você pretende armazenar ambos em uma única variável, preservando as características vistas anteriormente para cada um deles. Vamos declarar uma variável com o tipo de dado DATETIME2 e armazenar alguns dados, conforme apresentado abaixo.
Observação: O intervalo do tipo de dado DATETIME2 é de 0001-01-01 00:00:00.0000000 a 9999-12-31 23:59:59.9999999
SMALLDATETIME e DATETIME
O Microsoft SQL Server 2008 continua a dar suporte aos tipos de dados existentes como DATETIME e SMALLDATETIME. O intervalo para o tipo de dado SMALLDATETIME é de 1900-01-01 a 2079-06-06. Execute a consulta a seguir como mostrado.
DATETIMEOFFSET
O Microsoft SQL Server 2008 introduziu um novo tipo de dado DATETIME chamado DATETIMEOFFSET. DATETIMEOFFSET, na verdade, define a data com a combinação da hora do dia com o fuso horário. O intervalo de deslocamento do fuso horário é de -14:00 a +14:00.
Execute a consulta abaixo para obter DATETIMEOFFSET.
Neste artigo, você aprendeu como usar os novos tipos de dados relacionados para Data e Hora, no SQL Server 2008.