Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada SQL do Azure
Banco de Dados SQL do Azure Synapse Analytics
no Microsoft Fabric
As secções deste artigo abrangem todos os tipos e funções de dados Transact-SQL data e hora.
- Tipos de dados de data e hora
-
Funções de data e hora
- Funções que devolvem 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 das suas partes
- Funções que devolvem valores de diferença de data e hora
- Funções que modificam valores de data e hora
- Funções que definem ou devolvem funções de formato de sessão
- Funções que validam valores de data e hora
- Artigos relacionados com data e hora
Tipos de dados de data e hora
Os Transact-SQL tipos de dados de data e hora estão listados na tabela seguinte:
| Tipo de dados | Formato | Alcance | Exatidão | Tamanho de armazenamento (bytes) | Precisão de segundo fracionária definida pelo usuário | Deslocamento de fuso horário |
|---|---|---|---|---|---|---|
| time | HH:mm:ss[.nnnnnnn] | 00:00:00.0000000 até 23:59:59.99999999 | 100 nanossegundos | 3 a 5 | Yes | Não |
| date | yyyy-MM-dd | 0001-01-01 a 9999-12-31 | 1 dia | 3 | Não | Não |
| smalldatetime | aaaa-MM-dd HH:mm:ss | 1900-01-01 a 2079-06-06 | 1 minuto | 4 | Não | Não |
| datetime | yyy-mm-dd HH:mm:ss[.nnn] | 1753-01-01 a 9999-12-31 | 0,00333 segundos | 8 | Não | Não |
| datetime2 | aaaa-MM-dd HH:mm:ss[.nnnnnnn] | 0001-01-01 00:00:00.000000 até 9999-12-31 23:59:59.9999999 | 100 nanossegundos | 6 a 8 | Yes | Não |
| datetimeoffset | yyy-MM-dd HH:mm:ss[.nnnnnnn] [+|-]HH:mm | 0001-01-01 00:00:00.000000 até 9999-12-31 23:59:59.99999999 (em UTC) | 100 nanossegundos | 8 a 10 | Yes | Yes |
Observação
O tipo de dado Transact-SQL rowversion não é um tipo de data ou hora. Timestamp é um sinónimo obsoleto de rowversion.
Funções de data e hora
As tabelas seguintes listam as Transact-SQL funções de data e hora. Para obter mais informações sobre determinismo, consulte Deterministic and Nondeterministic Functions.
Funções que devolvem valores de data e hora do sistema
Transact-SQL deriva todos os valores de data e hora do sistema a partir do sistema operativo do computador onde a instância do SQL Server é executada.
Funções de data e hora do sistema de maior precisão
Desde o SQL Server 2008 (10.0.x), o Motor de Base de Dados obtém os valores de data e hora através da utilização da API GetSystemTimeAsFileTime() do Windows. A precisão depende do hardware do computador e da versão do Windows em que a instância do SQL Server está a correr. Esta API tem uma precisão fixa a 100 nanossegundos. Use a API do Windows GetSystemTimeAdjustment() para determinar a precisão.
| Função | Sintaxe | Valor de retorno | Tipo de dados de retorno | Determinismo |
|---|---|---|---|---|
| SYSDATETIME | SYSDATETIME ( ) | Devolve um valor datetime2(7) contendo a data e hora do computador onde a instância do SQL Server é executada. O valor devolvido não inclui o deslocamento do fuso horário. | datetime2(7) | Não determinístico |
| SYSDATETIMEOFFSET | SYSDATETIMEOFFSET ( ) | Devolve um valor datetimeoffset(7) contendo a data e hora do computador onde a instância do SQL Server é executada. O valor devolvido inclui o deslocamento do fuso horário. | datetimeoffset(7) | Não determinístico |
| SYSUTCDATETIME | SYSUTCDATETIME ( ) | Devolve um valor datetime2(7) contendo a data e hora do computador onde a instância do SQL Server está a correr. A função devolve os valores de data e hora como hora UTC (Hora Universal Coordenada). | datetime2(7) | Não determinístico |
Funções de data e hora do sistema de menor precisão
| Função | Sintaxe | Valor de retorno | Tipo de dados de retorno | Determinismo |
|---|---|---|---|---|
| CURRENT_TIMESTAMP | CURRENT_TIMESTAMP | Devolve um valor de data-hora contendo a data e hora do computador onde a instância do SQL Server é executada. O valor devolvido não inclui o deslocamento do fuso horário. | datetime | Não determinístico |
| GETDATE | GETDATE ( ) | Devolve um valor de data-hora contendo a data e hora do computador onde a instância do SQL Server é executada. O valor devolvido não inclui o deslocamento do fuso horário. | datetime | Não determinístico |
| GETUTCDATE | GETUTCDATE ( ) | Devolve um valor de data-hora contendo a data e hora do computador onde a instância do SQL Server é executada. A função devolve os valores de data e hora como hora UTC (Hora Universal Coordenada). | datetime | Não determinístico |
| CURRENT_DATE | CURRENT_DATE | Devolve um valor de data que contém apenas a data do computador onde a instância do Motor de Base de Dados é executada. O valor devolvido não inclui a hora nem o deslocamento do fuso horário. | date | Não determinístico |
Funções que retornam partes de data e hora
| Função | Sintaxe | Valor de retorno | Tipo de dados de retorno | Determinismo |
|---|---|---|---|---|
| DATE_BUCKET | DATE_BUCKET ( data,número, data, origem ) | Devolve um valor correspondente ao início de cada balde de data-hora a partir do carimbo temporal definido pelo parâmetro de origem , ou ao 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 a data. | Não determinístico |
| NOME DATADO | NOME DATA( dataparte, data ) | Devolve uma cadeia de caracteres que representa a data especificada da data especificada. | nvarchar | Não determinístico |
| DATEPART | DATEPART ( datepart, date ) | Devolve um número inteiro que representa a data especificada da data especificada. | int | Não determinístico |
| DATETRUNC | DATETRUNC ( parte de data, data ) | Devolve uma data de entrada truncada para uma data especificada. | O tipo de retorno depende do argumento fornecido para a data. | Não determinístico |
| DIA | DAY ( data ) | Devolve um inteiro que representa a parte do dia da data especificada. | int | Determinística |
| MÊS | MÊS (data) | Devolve um inteiro que representa a parte do mês de uma data especificada. | int | Determinística |
| ANO | ANO ( data ) | Devolve um inteiro que representa a parte do ano de uma data especificada. | int | Determinística |
Funções que retornam valores de data e hora das suas partes
| Função | Sintaxe | Valor de retorno | Tipo de dados de retorno | Determinismo |
|---|---|---|---|---|
| DATEFROMPARTS | DATEFROMPARTS ( ano, mês, dia ) | Devolve um valor de data para o ano, mês e dia especificados. | date | Determinística |
| DATETIME2FROMPARTS | DATETIME2FROMPARTS ( ano, mês, dia, hora, minuto, segundos, frações, precisão ) | Devolve um valor datetime2 para a data e hora especificadas, com a precisão especificada. | datetime2(precisão) | Determinística |
| DATA-HORADE | DATETIMEFROMPARTS ( ano, mês, dia, hora, minuto, segundos, milissegundos ) | Devolve um valor de data-hora para a data e hora especificadas. | datetime | Determinística |
| DATATEMPOOFFSETA das partes | DATATEMPOOFFSETOFFSPARTS ( ano, mês, dia, hora, minuto, segundos, frações, hour_offset, minute_offset, precisão ) | Devolve um valor de datatimeoffset para a data e hora especificadas, com os deslocamentos e precisão especificados. | DateTimeOffset (precisão) | Determinística |
| PEQUENO encontro a partir das partes | PEQUENO encontro tempo das partes ( ano, mês, dia, hora, minuto ) | Devolve um valor de pequena data-hora para a data e hora especificadas. | smalldatetime | Determinística |
| TIMEFROMPARTS | TIMEFROMPARTS ( hora, minuto, segundos, frações, precisão ) | Devolve um valor de tempo para o tempo especificado, com a precisão especificada. | Tempo (precisão) | Determinística |
Funções que devolvem valores de diferença de data e hora
| Função | Sintaxe | Valor de retorno | Tipo de dados de retorno | Determinismo |
|---|---|---|---|---|
| DATEDIFF | DATEDIFF ( data,início,data de fim ) | Devolve o número de limites data-data-parte, cruzados entre duas datas especificadas. | int | Determinística |
| DATEDIFF_BIG | DATEDIFF_BIG ( data,início, data de fim ) | Devolve o número de limites data-data-parte, cruzados entre duas datas especificadas. | bigint | Determinística |
Funções que modificam valores de data e hora
| Função | Sintaxe | Valor de retorno | Tipo de dados de retorno | Determinismo |
|---|---|---|---|---|
| DATAADD | DATEADD (dataparte, número, data ) | Devolve um novo valor de data-hora adicionando um intervalo à data-parte especificada da data especificada. | O tipo de dado do argumento da data | Determinística |
| EOMONTH | EOMONTH ( start_date [ , month_to_add ] ) | Devolve o último dia do mês contendo a data especificada, com um deslocamento opcional. | O tipo de retorno é o tipo do argumento start_date , ou alternativamente, o tipo de dado data . | Determinística |
| DESLOCAMENTO INTERRUPTOR | SWITCHOFFSET (DATETIMEOFFSET,time_zone ) | SWITCHOFFSET altera o deslocamento do fuso horário de um valor DATETIMEOFFSET e preserva o valor UTC. | datatimeoffset com a precisão fracionária do DATETIMEOFFSET | Determinística |
| TODATETIMEOFFSET | TODATETIMEOFFSET (expressão, time_zone ) | TODATETIMEOFFSET transforma um valor datetime2 num valor datetimeoffset. TODATETIMEOFFSET interpreta o valor datetime2 em tempo local, para o time_zone especificado. | datatempodeslocado com a precisão fracionária do argumento data-hora | Determinística |
Funções que definem ou devolvem funções de formato de sessão
| Função | Sintaxe | Valor de retorno | Tipo de dados de retorno | Determinismo |
|---|---|---|---|---|
| @@DATEFIRST | @@DATEFIRST | Devolve o valor atual, para a sessão, de SET DATEFIRST. | tinyint | Não determinístico |
| DEFINIR A DATA PRIMEIRO | SET DATEFIRST { number | @number_var } | Define o primeiro dia da semana para um número de 1 a 7. | Não aplicável | Não aplicável |
| FORMATO DE DATA DEFINIDO | SET DATEFORMAT { format | @format_var } | Define a ordem das datas (mês/dia/ano) para introduzir dados data-hora ou littledatetime . | Não aplicável | Não aplicável |
| @@LANGUAGE | @@LANGUAGE | Devolve o nome da língua atualmente utilizada. @@LANGUAGE não é uma função de data ou hora. No entanto, a definição de linguagem pode afetar a saída das funções de data. | Não aplicável | Não aplicável |
| LINGUAGEM DE CONJUNTOS | LINGUAGEM DE CONJUNTO { [ N ] 'linguagem' | @language_var } | Define o ambiente de linguagem para as mensagens de sessão e do sistema. SET LANGUAGE não é uma função de data ou hora. No entanto, a definição de linguagem afeta a saída das funções de data. | Não aplicável | Não aplicável |
| sp_helplanguage | sp_helplanguage [ [ @language = ] 'linguagem' ] | Devolve informações sobre formatos de data de todas as línguas suportadas.
sp_helplanguage não é um procedimento de data ou hora registada. No entanto, a definição de linguagem 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 | Valor de retorno | Tipo de dados de retorno | Determinismo |
|---|---|---|---|---|
| ISDATE | ISDATE ( expressão ) | Determina se uma expressão de entrada data-hora ou pequena tem um valor válido de data ou hora. | int | O ISDATE é determinístico usado apenas com a função CONVERT quando o parâmetro de estilo CONVERT é especificado, e quando o estilo não é igual a 0, 100, 9 ou 109. |
Artigos relacionados com data e hora
| Artigo | Description |
|---|---|
| FORMATO | Retorna um valor formatado com o formato especificado e a cultura opcional. Use a função FORMAT para formatação local dos valores de data/hora e números como cadeias de caracteres. |
| CAST e CONVERT | Fornece informações sobre a conversão de valores de data e hora para e a partir de literais de cadeia, e outros formatos de data e hora. |
| Escrever declarações Transact-SQL internacionais | Fornece diretrizes para a portabilidade de bases de dados e aplicações de bases de dados que utilizam Transact-SQL instruções de uma língua para outra, ou que suportam múltiplas línguas. |
| Funções Escalares ODBC | Fornece informações sobre funções escalares ODBC disponíveis para utilização em instruções Transact-SQL. Inclui funções de data e hora ODBC. |
| NO FUSO HORÁRIO | Fornece conversão de fuso horário. |