smalldatetime (Transact-SQL)
Define uma data que é combinada com uma hora do dia. A hora se baseia em um dia de 24 horas, com segundos sempre zero (:00) e sem frações de segundo.
Observação |
---|
Use os tipos de dados time, date, datetime2 e datetimeoffset para trabalho novo. Esses tipos estão de acordo com o Padrão SQL. Eles são mais portáteis. time, datetime2 e datetimeoffset fornecem mais precisão de segundos. datetimeoffset fornece suporte a fuso horário para aplicativos implantado globalmente. |
Para obter uma visão geral de todos os tipos de dados e funções de data e hora do Transact-SQL, consulte Funções Date e Time (Transact-SQL). Para obter informações e exemplos comuns aos tipos de dados e funções de data e hora, consulte Usando dados de data e hora.
smalldatetime Descrição
Sintaxe |
smalldatetime |
Uso |
DECLARE @MySmalldatetime smalldatetime CREATE TABLE Table1 ( Column1 smalldatetime ) |
Formatos de literais de cadeia de caracteres padrão (usado para cliente de nível inferior) |
Não aplicável |
Intervalo de dados |
1900-01-01 a 2079-06-06 1º de janeiro de 1900 a 6 de junho de 2079 |
Intervalo de horas |
00:00:00 a 23:59:59 2007-05-09 23:59:59 será arredondado para 2007-05-10 00:00:00 |
Intervalos de elementos |
AAAA são quatro dígitos, variando de 1900 a 2079 e representando o ano. MM são dois dígitos, variando de 01 a 12, que representam um mês do ano especificado. DD são dois dígitos, variando de 01 a 31, dependendo do mês, e representando um dia do mês especificado. hh são dois dígitos, variando de 00 a 23, que representam a hora. mm são dois dígitos, variando de 00 a 59, que representam o minuto. ss são dois dígitos, variando de 00 a 59, que representam o segundo. Valores iguais ou menores que 29,998 segundos têm o minuto arredondado para baixo; valores iguais ou maiores que 29,999 têm o minuto arredondado para cima. |
Comprimento de caracteres |
máximo de 19 posições |
Tamanho de armazenamento |
4 bytes, fixo. |
Exatidão |
Um minuto |
Valor padrão |
1900-01-01 00:00:00 |
Calendário |
Gregoriano (Não inclui o intervalo completo de anos.) |
Precisão de frações de segundo definida pelo usuário |
Não |
Reconhecimento e preservação do deslocamento de fuso horário |
Não |
Reconhecimento de horário de verão |
Não |
Conformidade com ANSI e ISO 8601
smalldatetime não tem conformidade com ANSI ou ISO 8601.
Exemplos
A. Convertendo literais de cadeia de caracteres com segundos para smalldatetime
O exemplo a seguir compara a conversão de segundos em literais de cadeia de caracteres para smalldatetime.
SELECT
CAST('2007-05-08 12:35:29' AS smalldatetime)
,CAST('2007-05-08 12:35:30' AS smalldatetime)
,CAST('2007-05-08 12:59:59.998' AS smalldatetime);
Entrada |
Saída |
---|---|
2007-05-08 12:35:29 |
2007-05-08 12:35:00 |
2007-05-08 12:35:30 |
2007-05-08 12:36:00 |
2007-05-08 12:59:59.998 |
2007-05-08 13:00:00 |
B. Comparando tipos de dados de data e hora
O exemplo a seguir compara os resultados da conversão de uma cadeia de caracteres para cada tipo de dados de data e hora.
SELECT
CAST('2007-05-08 12:35:29. 1234567 +12:15' AS time(7)) AS 'time'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS date) AS 'date'
,CAST('2007-05-08 12:35:29.123' AS smalldatetime) AS
'smalldatetime'
,CAST('2007-05-08 12:35:29.123' AS datetime) AS 'datetime'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS datetime2(7)) AS
'datetime2'
,CAST('2007-05-08 12:35:29.1234567 +12:15' AS datetimeoffset(7)) AS
'datetimeoffset';
Tipo de dados |
Saída |
---|---|
time |
12:35:29. 1234567 |
date |
2007-05-08 |
smalldatetime |
2007-05-08 12:35:00 |
datetime |
2007-05-08 12:35:29.123 |
datetime2 |
2007-05-08 12:35:29. 1234567 |
datetimeoffset |
2007-05-08 12:35:29.1234567 +12:15 |