O SQL Server 2008 introduz novos tipos de dados de data e hora:
- DATA – somente um tipo de data.
- HORA – somente um tipo de hora.
- DATETIMEOFFSET – um tipo datetime com suporte a fusos horários.
- DATETIME2 – um tipo datetime c/ maior fração de segundos e quantidade de anos que o tipo DATETIME existente.
Os novos tipos de dados permitem que as aplicações tenham tipos de dados e de hora separados, ao mesmo em que fornecem grande variedade de dados ou precisão definida pelo usuário para os valores de hora. Vejamos algumas características:
- DATETIME atual - 1753-9999 anos.
- DATETIME atual - Precisão 0.00333 Segundos.
- Novo tipo data - 0001-9999 anos.
- Noto tipo Hora - Variável Precisão de 0 até 7 casas decimais para segundos.
- Novo tipo data/hora – Precisão de 100 nanosegundos.
- Precisão economiza espaço.
- Separar Data e Hora economiza espaço.
- Compatível ANSI
Segue alguns exemplos para visualizarmos melhor essas mudanças.
Exemplo 01
CREATE TABLE TiposNovos
(
Date1 date,
Date2 date,
Date3 date
)
GO
INSERT INTO TiposNovos
VALUES('01/22/2005','2007-05-08 12:35:29.1234567 +12:05',GetDate())
SELECT * FROM TiposNovos
Resultados
Date1 Date2 Date3
2005-01-22 2007-05-08 2007-11-20
Exemplo 02
DECLARE @Date1 date = '01/22/2005'
DECLARE @Date2 date
DECLARE @Date3 date = GetDate()
SELECT @Date2 = '2007-05-08 12:35:29.1234567 +12:05'
SELECT @Date1 AS '@Date1',
@Date2 AS '@Date2',
@Date3 AS '@Date3'
Resultados
@Date1 @Date2 @Date3
2005-01-22 2007-05-08 2007-11-20
Exemplo 03
DECLARE @Time time = '01:01:01.1234567 +01:01'
DECLARE @Time1 time(1) = '01:01:01.1234567 +01:01'
DECLARE @Time2 time(2) = '01:01:01.1234567 +01:01'
DECLARE @Time3 time(3) = '01:01:01.1234567 +01:01'
DECLARE @Time4 time(4) = '01:01:01.1234567 +01:01'
DECLARE @Time5 time(5) = '01:01:01.1234567 +01:01'
DECLARE @Time6 time(6) = '01:01:01.1234567 +01:01'
DECLARE @Time7 time(7) = '01:01:01.1234567 +01:01'
SELECT @Time AS '@Time',
@Time1 AS '@Time1',
@Time2 AS '@Time2',
@Time3 AS '@Time3',
@Time4 AS '@Time4',
@Time5 AS '@Time5',
@Time6 AS '@Time6',
@Time7 AS '@Time7'
Resultados
@Time @Time1 @Time2 @Time3 @Time4
01:01:01.1234567 01:01:01.1 01:01:01.12 01:01:01.123 01:01:01.1235
@Time5 @Time6 @Time7
01:01:01.12346 01:01:01.123457 01:01:01.1234567
Exemplo 04
CREATE TABLE TiposNovos2
(
Time1 time(1),
Time2 time(2),
Time3 time(3)
)
GO
INSERT INTO myTable1 VALUES('01:30:01.1234567','02:34:01.1234567','03:01:59.1234567')
SELECT * FROM TiposNovos2
Resultados
Time1 Time2 Time3
01:30:01.1000000 02:34:15.1200000 03:01:59.1230000
Exemplo 05
DECLARE @data DATETIMEOFFSET = '2007-11-26T08:52:00.1234567-08:00'
PRINT @data
Resultados
2007-11-26 08:52:00.1234567 -08:00
Exemplo 06
DECLARE @datahora2 DATETIME2 = GetDate();
PRINT @datahora2
Resultados
2007-11-26 09:39:04.1370000
É isso ai pessoal em um outro artigo vamos falar sobre outros tipo como: Hierarchyid e dados espaciais.
Nenhum comentário:
Postar um comentário