Tipos de dados e funções de data e hora (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse Analytics
As seções neste artigo abrangem todos os tipos de dados e funções de data e hora do Transact-SQL.
- Tipos de dados de data e hora
- Funções de data e hora
- Funções que retornam valores de data e hora do sistema
- Funções que retornam partes de data e hora
- Funções que retornam valores de data e hora de suas partes
- Funções que retornam valores de diferença de data e hora
- Funções que modificam valores de data e hora
- Funções que definem ou retornam funções de formato da sessão
- Funções que validam valores de data e hora
- Artigos relacionados a data e hora
Tipos de dados de data e hora
Os tipos de dados de data e hora do Transact-SQL estão listados na seguinte tabela:
Tipo de dados | Formatar | Intervalo | Precisão | Tamanho de armazenamento (bytes) | Precisão de segundo fracionário definida pelo usuário | Deslocamento de fuso horário |
---|---|---|---|---|---|---|
time | hh:mm:ss[.nnnnnnn] | 00:00:00.0000000 a 23:59:59.9999999 | 100 nanossegundos | 3 a 5 | Sim | Não |
date | AAAA-MM-DD | 0001-01-01 a 9999-12-31 | 1 dia | 3 | Não | Não |
smalldatetime | AAAA-MM-DD hh:mm:ss | 01.01.00 a 06.06.79 | 1 minuto | 4 | Não | Não |
datetime | AAAA-MM-DD hh:mm:ss[.nnn] | 1753-01-01 a 9999-12-31 | 0,00333 segundo | 8 | Não | Não |
datetime2 | AAAA-MM-DD hh:mm:ss[.nnnnnnn] | 0001-01-01 00:00:00.0000000 a 9999-12-31 23:59:59.9999999 | 100 nanossegundos | 6 a 8 | Sim | Não |
datetimeoffset | AAAA-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm | 0001-01-01 00:00:00.0000000 a 9999-12-31 23:59:59.9999999 (em UTC) | 100 nanossegundos | 8 a 10 | Sim | Yes |
Observação
O tipo de dados rowversion do Transact-SQL não é um tipo de dados de data nem de hora. timestamp é um sinônimo preterido de rowversion.
Funções de data e hora
As tabelas a seguir listam as funções de data e hora do Transact-SQL. Consulte Funções determinísticas e não determinísticas para obter mais informações sobre determinismo.
Funções que retornam valores de data e hora do sistema
O Transact-SQL deriva todos os valores de data e hora do sistema operacional do computador no qual a instância do SQL Server é executada.
Funções de data e hora do sistema de precisão superior
Desde o SQL Server 2008 (10.0.x), o Mecanismo de Banco de Dados deriva os valores de data e hora usando a API do Windows GetSystemTimeAsFileTime(). A precisão depende do hardware do computador e da versão do Windows no qual a instância do SQL Server está sendo executada. A API tem uma precisão fixada em 100 nanossegundos. Use a API do Windows GetSystemTimeAdjustment() para determinar a precisão.
Função | Sintaxe | Retornar valor | Tipo de dados de retorno | Determinismo |
---|---|---|---|---|
SYSDATETIME | SYSDATETIME ( ) | Retorna um valor datetime2(7) que contém a data e hora do computador no qual a instância de SQL Server é executada. O valor retornado não inclui a compensação de fuso horário. | Datetime2 (7) | Não determinístico |
SYSDATETIMEOFFSET | SYSDATETIMEOFFSET ( ) | Retorna um valor datetimeoffset(7) que contém a data e hora do computador no qual a instância de SQL Server é executada. O valor retornado inclui o deslocamento de fuso horário. | datetimeoffset(7) | Não determinístico |
SYSUTCDATETIME | SYSUTCDATETIME ( ) | Retorna um valor datetime2(7) que contém a data e hora do computador no qual a instância de SQL Server está sendo executada. A função retorna os valores de data e hora como hora UTC (Tempo Universal Coordenado). | Datetime2 (7) | Não determinístico |
Funções de data e hora do sistema de precisão inferior
Função | Sintaxe | Retornar valor | Tipo de dados de retorno | Determinismo |
---|---|---|---|---|
CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | Retorna um valor datetime que contém a data e hora do computador no qual a instância de SQL Server é executada. O valor retornado não inclui a compensação de fuso horário. | datetime | Não determinístico |
GETDATE | GETDATE ( ) | Retorna um valor datetime que contém a data e hora do computador no qual a instância de SQL Server é executada. O valor retornado não inclui a compensação de fuso horário. | datetime | Não determinístico |
GETUTCDATE | GETUTCDATE ( ) | Retorna um valor datetime que contém a data e hora do computador no qual a instância de SQL Server é executada. A função retorna os valores de data e hora como hora UTC (Tempo Universal Coordenado). | datetime | Não determinístico |
Funções que retornam partes de data e hora
Função | Sintaxe | Retornar valor | Tipo de dados de retorno | Determinismo |
---|---|---|---|---|
DATE_BUCKET | 0DATE_BUCKET ( datepart, number, date, origin ) | Retorna um valor correspondente ao início de cada bucket de data e hora do carimbo de data/hora definido pelo parâmetro origin ou o valor de origem padrão de 1900-01-01 00:00:00.000 se o parâmetro de origem não for especificado. |
O tipo de retorno depende do argumento fornecido para date. | Não determinístico |
DATENAME | DATENAME ( datepart, date ) | Retorna uma cadeia de caracteres que representa o datepart especificado da data especificada. | nvarchar | Não determinístico |
DATEPART | DATEPART ( datepart, date ) | Retorna um inteiro que representa o datepart especificado da data especificada. | int | Não determinístico |
DATETRUNC | DATETRUNC ( datepart, date ) | Retorna uma data de entrada truncada para um datepart especificado. | O tipo de retorno depende do argumento fornecido para date. | Não determinístico |
DAY | DAY ( date ) | Retorna um inteiro que representa a parte do dia da data especificada. | int | Determinística |
MONTH | MONTH ( date ) | Retorna um inteiro que representa a parte do mês de uma data especificada. | int | Determinística |
YEAR | YEAR ( date ) | Retorna um inteiro que representa a parte do ano de uma data especificada. | int | Determinística |
Funções que retornam valores de data e hora de suas partes
Função | Sintaxe | Retornar valor | Tipo de dados de retorno | Determinismo |
---|---|---|---|---|
DATEFROMPARTS | DATEFROMPARTS ( year, month, day ) | Retorna um valor de date para o ano, o mês e o dia especificados. | date | Determinística |
DATETIME2FROMPARTS | DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision) | Retorna um valor de datetime2 para a data e hora especificadas, com a precisão especificada. | datetime2(precision) | Determinística |
DATETIMEFROMPARTS | DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds) | Retorna um valor de datetime para a data e a hora especificadas. | datetime | Determinística |
DATETIMEOFFSETFROMPARTS | DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision) | Retorna um valor de datetimeoffset para a data e hora especificadas e com deslocamentos e precisão especificados. | datetimeoffset(precision) | Determinística |
SMALLDATETIMEFROMPARTS | SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute ) | Retorna um valor de smalldatetime para a data e a hora especificadas. | smalldatetime | Determinística |
TIMEFROMPARTS | TIMEFROMPARTS ( hour, minute, seconds, fractions, precision ) | Retorna um valor time para a hora especificada, com a precisão especificada. | time(precision) | Determinística |
Funções que retornam valores de diferença de data e hora
Função | Sintaxe | Retornar valor | Tipo de dados de retorno | Determinismo |
---|---|---|---|---|
DATEDIFF | DATEDIFF ( datepart, startdate, enddate ) | Retorna o número de limites de datepart de data ou hora cruzados entre duas datas especificadas. | int | Determinística |
DATEDIFF_BIG | DATEDIFF_BIG ( datepart, startdate, enddate ) | Retorna o número de limites de datepart de data ou hora cruzados entre duas datas especificadas. | bigint | Determinística |
Funções que modificam valores de data e hora
Função | Sintaxe | Retornar valor | Tipo de dados de retorno | Determinismo |
---|---|---|---|---|
DATEADD | DATEADD (datepart, number, date ) | Retorna um novo valor de datetime adicionando um intervalo à datepart especificada da date especificada. | O tipo de dados do argumento date | Determinística |
EOMONTH | EOMONTH ( start_date [, month_to_add ] ) | Retorna o último dia do mês que contém a data especificada com um deslocamento opcional. | O tipo de retorno é o tipo do argumento start_date ou, como alternativa, o tipo de dados date. | Determinística |
SWITCHOFFSET | SWITCHOFFSET (DATETIMEOFFSET, time_zone) | SWITCHOFFSET altera o deslocamento de fuso horário de um valor DATETIMEOFFSET e preserva o valor UTC. | datetimeoffset com a precisão fracionária de DATETIMEOFFSET | Determinística |
TODATETIMEOFFSET | TODATETIMEOFFSET (expression, time_zone) | TODATETIMEOFFSET transforma um valor datetime2 em um valor datetimeoffset. TODATETIMEOFFSET interpreta o valor datetime2 no horário local, para o time_zone especificado. | datetimeoffset com a precisão fracionária do argumento datetime | Determinística |
Funções que definem ou retornam funções de formato da sessão
Função | Sintaxe | Retornar valor | Tipo de dados de retorno | Determinismo |
---|---|---|---|---|
@@DATEFIRST | @@DATEFIRST | Retorna o valor atual, da sessão, de SET DATEFIRST. | tinyint | Não determinístico |
SET DATEFIRST | SET DATEFIRST { number | @number_var } | Define o primeiro dia da semana como um número de 1 a 7. | Não aplicável | Não aplicável |
SET DATEFORMAT | SET DATEFORMAT { format | @format_var } | Define a ordem das partes de data (dia/mês/ano) para inserção de dados datetime ou smalldatetime. | Não aplicável | Não aplicável |
@@LANGUAGE | @@LANGUAGE | Retorna o nome do idioma usado no momento. @@LANGUAGE não é uma função de data ou hora. No entanto, a definição de idioma pode afetar a saída das funções de data. | Não aplicável | Não aplicável |
SET LANGUAGE | SET LANGUAGE { [ N ] 'language' | @language_var } | Define o ambiente de idioma para as mensagens do sistema e da sessão. SET LANGUAGE não é uma função de data ou hora. No entanto, a definição de idioma afeta a saída das funções de data. | Não aplicável | Não aplicável |
sp_helplanguage | sp_helplanguage [ [ @language = ] 'language' ] | Retorna informações sobre formatos de data de todos os idiomas com suporte. sp_helplanguage não é um procedimento armazenado de data ou hora. No entanto, a definição de idioma afeta a saída das funções de data. | Não aplicável | Não aplicável |
Funções que validam valores de data e hora
Função | Sintaxe | Retornar valor | Tipo de dados de retorno | Determinismo |
---|---|---|---|---|
ISDATE | ISDATE ( expression ) | Determina se uma expressão de entrada datetime ou smalldatetime tem um valor de data ou hora válido. | int | ISDATE só será determinística se usada com a função CONVERT, quando o parâmetro de estilo CONVERT for especificado e o estilo não for igual a 0, 100, 9 nem 109. |
Artigos relacionados a data e hora
Artigo | Descrição |
---|---|
FORMAT | Retorna um valor formatado com o formato e a cultura opcional especificados. Use a função FORMAT para formatação com reconhecimento de localidade de valores de data/hora e número como cadeias de caracteres. |
CAST e CONVERT (Transact-SQL) | Fornece informações sobre a conversão de valores de data e hora para e de literais de cadeia de caracteres, bem como outros formatos de data e hora. |
Gravar instruções Transact-SQL internacionais | Fornece diretrizes para a portabilidade de bancos de dados e aplicativos de bancos de dados que usam instruções Transact-SQL de uma linguagem a outra ou que dão suporte a várias linguagens. |
Funções escalares ODBC (Transact-SQL) | Fornece informações sobre as funções escalares ODBC disponíveis para uso em instruções Transact-SQL. Isso inclui funções de data e hora ODBC. |
AT TIME ZONE (Transact-SQL) | Fornece conversão de fuso horário. |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de