tipos de dados e funções de data e hora (Transact-SQL)Date and Time Data Types and Functions (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure simAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

As seções neste tópico abrangem todos os tipos e funções de data Transact-SQLTransact-SQL e data e hora.The sections in this topic cover all Transact-SQLTransact-SQL date and time data types and functions.

Tipos de dados de Data e HoraDate and Time data types

Os tipos de dados de data e hora de Transact-SQLTransact-SQL são listados na seguinte tabela:The Transact-SQLTransact-SQL date and time data types are listed in the following table:

Tipo de dadosData type FormatarFormat IntervaloRange PrecisãoAccuracy Tamanho de armazenamento (bytes)Storage size (bytes) Precisão de segundo fracionário definida pelo usuárioUser-defined fractional second precision Deslocamento de fuso horárioTime zone offset
timetime hh:mm:ss[.nnnnnnn]hh:mm:ss[.nnnnnnn] 00:00:00.0000000 a 23:59:59.999999900:00:00.0000000 through 23:59:59.9999999 100 nanossegundos100 nanoseconds 3 a 53 to 5 SimYes NãoNo
datedate AAAA-MM-DDYYYY-MM-DD 0001-01-01 a 9999-12-310001-01-01 through 9999-12-31 1 dia1 day 33 NãoNo NãoNo
smalldatetimesmalldatetime AAAA-MM-DD hh:mm:ssYYYY-MM-DD hh:mm:ss 01.01.00 a 06.06.791900-01-01 through 2079-06-06 1 minuto1 minute 44 NãoNo NãoNo
datetimedatetime AAAA-MM-DD hh:mm:ss[.nnn]YYYY-MM-DD hh:mm:ss[.nnn] 1753-01-01 a 9999-12-311753-01-01 through 9999-12-31 0,00333 segundo0.00333 second 88 NãoNo NãoNo
datetime2datetime2 AAAA-MM-DD hh:mm:ss[.nnnnnnn]YYYY-MM-DD hh:mm:ss[.nnnnnnn] 0001-01-01 00:00:00.0000000 a 9999-12-31 23:59:59.99999990001-01-01 00:00:00.0000000 through 9999-12-31 23:59:59.9999999 100 nanossegundos100 nanoseconds 6 a 86 to 8 SimYes NãoNo
datetimeoffsetdatetimeoffset YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mmYYYY-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)0001-01-01 00:00:00.0000000 through 9999-12-31 23:59:59.9999999 (in UTC) 100 nanossegundos100 nanoseconds 8 a 108 to 10 SimYes SimYes

Observação

O tipo de dados Transact-SQLTransact-SQL rowversion não é um tipo de dados de data ou hora.The Transact-SQLTransact-SQL rowversion data type is not a date or time data type. timestamp é um sinônimo preterido de rowversion.timestamp is a deprecated synonym for rowversion.

Funções de Data e HoraDate and Time functions

As tabelas a seguir listam as funções de data e hora do Transact-SQLTransact-SQL.The following tables list the Transact-SQLTransact-SQL date and time functions. Consulte Funções determinísticas e não determinísticas para obter mais informações sobre determinismo.See Deterministic and Nondeterministic Functions for more information about determinism.

Função que retorna valores de data e hora do sistemaFunction That Return System Date and Time Values

Transact-SQLTransact-SQL derivam todos os valores de data e hora do sistema operacional do computador no qual a instância do SQL ServerSQL Server é executada.derives all system date and time values from the operating system of the computer on which the instance of SQL ServerSQL Server runs.

Funções de data e hora do sistema de precisão superiorHigher-Precision System Date and Time Functions

SQL Server 2019 (15.x)SQL Server 2019 (15.x) deriva os valores de data e hora usando a API do Windows GetSystemTimeAsFileTime().derives the date and time values through use of the GetSystemTimeAsFileTime() Windows API. A precisão depende do hardware do computador e da versão do Windows no qual a instância do SQL ServerSQL Server está sendo executada.The accuracy depends on the computer hardware and version of Windows on which the instance of SQL ServerSQL Server running. A API tem uma precisão fixada em 100 nanossegundos.This API has a precision fixed at 100 nanoseconds. Use a API do Windows GetSystemTimeAdjustment() para determinar a precisão.Use the GetSystemTimeAdjustment() Windows API to determine the accuracy.

FunçãoFunction SintaxeSyntax Valor retornadoReturn value Tipo de dados de retornoReturn data type DeterminismoDeterminism
SYSDATETIMESYSDATETIME SYSDATETIME ()SYSDATETIME () Retorna um valor datetime2(7) que contém a data e hora do computador no qual a instância de SQL ServerSQL Server é executada.Returns a datetime2(7) value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs. O valor retornado não inclui o deslocamento de fuso horário.The returned value does not include the time zone offset. datetime2(7)datetime2(7) Não determinísticoNondeterministic
SYSDATETIMEOFFSETSYSDATETIMEOFFSET SYSDATETIMEOFFSET ( )SYSDATETIMEOFFSET ( ) Retorna um valor datetimeoffset(7) que contém a data e hora do computador no qual a instância de SQL ServerSQL Server é executada.Returns a datetimeoffset(7) value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs. O valor retornado inclui o deslocamento de fuso horário.The returned value includes the time zone offset. datetimeoffset(7)datetimeoffset(7) Não determinísticoNondeterministic
SYSUTCDATETIMESYSUTCDATETIME SYSUTCDATETIME ( )SYSUTCDATETIME ( ) Retorna um valor datetime2(7) que contém a data e hora do computador no qual a instância de SQL ServerSQL Server está sendo executada.Returns a datetime2(7) value containing the date and time of the computer on which the instance of SQL ServerSQL Server is running. A função retorna os valores de data e hora como hora UTC (Tempo Universal Coordenado).The function returns the date and time values as UTC time (Coordinated Universal Time). datetime2(7)datetime2(7) Não determinísticoNondeterministic

Funções de data e hora do sistema de precisão inferiorLower-Precision System Date and Time Functions

FunçãoFunction SintaxeSyntax Valor retornadoReturn value Tipo de dados de retornoReturn data type DeterminismoDeterminism
CURRENT_TIMESTAMPCURRENT_TIMESTAMP CURRENT_TIMESTAMPCURRENT_TIMESTAMP Retorna um valor datetime que contém a data e hora do computador no qual a instância de SQL ServerSQL Server é executada.Returns a datetime value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs. O valor retornado não inclui o deslocamento de fuso horário.The returned value does not include the time zone offset. datetimedatetime Não determinísticoNondeterministic
GETDATEGETDATE GETDATE ( )GETDATE ( ) Retorna um valor datetime que contém a data e hora do computador no qual a instância de SQL ServerSQL Server é executada.Returns a datetime value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs. O valor retornado não inclui o deslocamento de fuso horário.The returned value does not include the time zone offset. datetimedatetime Não determinísticoNondeterministic
GETUTCDATEGETUTCDATE GETUTCDATE ( )GETUTCDATE ( ) Retorna um valor datetime que contém a data e hora do computador no qual a instância de SQL ServerSQL Server é executada.Returns a datetime value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs. A função retorna os valores de data e hora como hora UTC (Tempo Universal Coordenado).The function returns the date and time values as UTC time (Coordinated Universal Time). datetimedatetime Não determinísticoNondeterministic

Funções que retornam partes de data e horaFunctions That Return Date and Time Parts

FunçãoFunction SintaxeSyntax Valor retornadoReturn value Tipo de dados de retornoReturn data type DeterminismoDeterminism
DATENAMEDATENAME DATENAME ( datepart , date )DATENAME ( datepart , date ) Retorna uma cadeia de caracteres que representa o datepart especificado da data especificada.Returns a character string representing the specified datepart of the specified date. nvarcharnvarchar Não determinísticoNondeterministic
DATEPARTDATEPART DATEPART ( datepart , date )DATEPART ( datepart , date ) Retorna um inteiro que representa o datepart especificado da data especificada.Returns an integer representing the specified datepart of the specified date. intint Não determinísticoNondeterministic
DAYDAY DAY ( date )DAY ( date ) Retorna um inteiro que representa a parte do dia da data especificada.Returns an integer representing the day part of the specified date. intint DeterminísticaDeterministic
MONTHMONTH MONTH ( date )MONTH ( date ) Retorna um inteiro que representa a parte do mês de uma data especificada.Returns an integer representing the month part of a specified date. intint DeterminísticaDeterministic
YEARYEAR YEAR ( date )YEAR ( date ) Retorna um inteiro que representa a parte do ano de uma data especificada.Returns an integer representing the year part of a specified date. intint DeterminísticaDeterministic

Funções que retornam valores de data e hora de suas partesFunctions That Return Date and Time Values from Their Parts

FunçãoFunction SintaxeSyntax Valor retornadoReturn value Tipo de dados de retornoReturn data type DeterminismoDeterminism
DATEFROMPARTSDATEFROMPARTS DATEFROMPARTS ( year, month, day )DATEFROMPARTS ( year, month, day ) Retorna um valor de date para o ano, o mês e o dia especificados.Returns a date value for the specified year, month, and day. datedate DeterminísticaDeterministic
DATETIME2FROMPARTSDATETIME2FROMPARTS DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision)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.Returns a datetime2 value for the specified date and time, with the specified precision. datetime2( precision )datetime2( precision ) DeterminísticaDeterministic
DATETIMEFROMPARTSDATETIMEFROMPARTS DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds)DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds) Retorna um valor de datetime para a data e a hora especificadas.Returns a datetime value for the specified date and time. datetimedatetime DeterminísticaDeterministic
DATETIMEOFFSETFROMPARTSDATETIMEOFFSETFROMPARTS DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision)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.Returns a datetimeoffset value for the specified date and time, with the specified offsets and precision. datetimeoffset( precision )datetimeoffset( precision ) DeterminísticaDeterministic
SMALLDATETIMEFROMPARTSSMALLDATETIMEFROMPARTS SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute )SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute ) Retorna um valor de smalldatetime para a data e a hora especificadas.Returns a smalldatetime value for the specified date and time. smalldatetimesmalldatetime DeterminísticaDeterministic
TIMEFROMPARTSTIMEFROMPARTS TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )TIMEFROMPARTS ( hour, minute, seconds, fractions, precision ) Retorna um valor time para a hora especificada, com a precisão especificada.Returns a time value for the specified time, with the specified precision. time( precision )time( precision ) DeterminísticaDeterministic

Funções que retornam valores de diferença de data e horaFunctions That Return Date and Time Difference Values

FunçãoFunction SintaxeSyntax Valor retornadoReturn value Tipo de dados de retornoReturn data type DeterminismoDeterminism
DATEDIFFDATEDIFF DATEDIFF ( datepart , startdate , enddate )DATEDIFF ( datepart , startdate , enddate ) Retorna o número de limites de datepart de data ou hora cruzados entre duas datas especificadas.Returns the number of date or time datepart boundaries, crossed between two specified dates. intint DeterminísticaDeterministic
DATEDIFF_BIGDATEDIFF_BIG DATEDIFF_BIG ( datepart , startdate , enddate )DATEDIFF_BIG ( datepart , startdate , enddate ) Retorna o número de limites de datepart de data ou hora cruzados entre duas datas especificadas.Returns the number of date or time datepart boundaries, crossed between two specified dates. bigintbigint DeterminísticaDeterministic

Funções que modificam valores de data e horaFunctions That Modify Date and Time Values

FunçãoFunction SintaxeSyntax Valor retornadoReturn value Tipo de dados de retornoReturn data type DeterminismoDeterminism
DATEADDDATEADD DATEADD (datepart , number , date )DATEADD (datepart , number , date ) Retorna um novo valor de datetime adicionando um intervalo à datepart especificada da date especificada.Returns a new datetime value by adding an interval to the specified datepart of the specified date. O tipo de dados do argumento dateThe data type of the date argument DeterminísticaDeterministic
EOMONTHEOMONTH EOMONTH ( start_date [, month_to_add ] )EOMONTH ( start_date [, month_to_add ] ) Retorna o último dia do mês que contém a data especificada com um deslocamento opcional.Returns the last day of the month containing the specified date, with an optional offset. O tipo de retorno é o tipo do argumento start_date ou, como alternativa, o tipo de dados date.Return type is the type of the start_date argument, or alternately, the date data type. DeterminísticaDeterministic
SWITCHOFFSETSWITCHOFFSET SWITCHOFFSET (DATETIMEOFFSET , time_zone)SWITCHOFFSET (DATETIMEOFFSET , time_zone) SWITCHOFFSET altera o deslocamento de fuso horário de um valor DATETIMEOFFSET e preserva o valor UTC.SWITCHOFFSET changes the time zone offset of a DATETIMEOFFSET value, and preserves the UTC value. datetimeoffset com a precisão fracionária de DATETIMEOFFSETdatetimeoffset with the fractional precision of the DATETIMEOFFSET DeterminísticaDeterministic
TODATETIMEOFFSETTODATETIMEOFFSET TODATETIMEOFFSET (expression , time_zone)TODATETIMEOFFSET (expression , time_zone) TODATETIMEOFFSET transforma um valor datetime2 em um valor datetimeoffset.TODATETIMEOFFSET transforms a datetime2 value into a datetimeoffset value. TODATETIMEOFFSET interpreta o valor datetime2 no horário local, para o time_zone especificado.TODATETIMEOFFSET interprets the datetime2 value in local time, for the specified time_zone. datetimeoffset com a precisão fracionária do argumento datetimedatetimeoffset with the fractional precision of the datetime argument DeterminísticaDeterministic

Funções que definem ou retornam funções de formato da sessãoFunctions That Set or Return Session Format Functions

FunçãoFunction SintaxeSyntax Valor retornadoReturn value Tipo de dados de retornoReturn data type DeterminismoDeterminism
@@DATEFIRST@@DATEFIRST @@DATEFIRST@@DATEFIRST Retorna o valor atual, da sessão, de SET DATEFIRST.Returns the current value, for the session, of SET DATEFIRST. tinyinttinyint Não determinísticoNondeterministic
SET DATEFIRSTSET DATEFIRST SET DATEFIRST { number | @ number_var }SET DATEFIRST { number | @number_var } Define o primeiro dia da semana como um número de 1 a 7.Sets the first day of the week to a number from 1 through 7. Não aplicávelNot applicable Não aplicávelNot applicable
SET DATEFORMATSET DATEFORMAT SET DATEFORMAT { format | @ format_var }SET DATEFORMAT { format | @format_var } Define a ordem das partes de data (dia/mês/ano) para inserção de dados datetime ou smalldatetime.Sets the order of the dateparts (month/day/year) for entering datetime or smalldatetime data. Não aplicávelNot applicable Não aplicávelNot applicable
@@LANGUAGE@@LANGUAGE @@LANGUAGE@@LANGUAGE Retorna o nome do idioma usado no momento.Returns the name of the language in current used. @@LANGUAGE não é uma função de data ou hora.@@LANGUAGE is not a date or time function. No entanto, a definição de idioma pode afetar a saída das funções de data.However, the language setting can affect the output of date functions. Não aplicávelNot applicable Não aplicávelNot applicable
SET LANGUAGESET LANGUAGE SET LANGUAGE { [ N ] ' language ' | @ language_var }SET LANGUAGE { [ N ] 'language' | @language_var } Define o ambiente de idioma para as mensagens do sistema e da sessão.Sets the language environment for the session and system messages. SET LANGUAGE não é uma função de data ou hora.SET LANGUAGE is not a date or time function. No entanto, a definição de idioma afeta a saída das funções de data.However, the language setting affects the output of date functions. Não aplicávelNot applicable Não aplicávelNot applicable
sp_helplanguagesp_helplanguage sp_helplanguage [ [ @language = ] ' language ' ]sp_helplanguage [ [ @language = ] 'language' ] Retorna informações sobre formatos de data de todos os idiomas com suporte.Returns information about date formats of all supported languages. sp_helplanguage não é um procedimento armazenado de data ou hora.sp_helplanguage is not a date or time stored procedure. No entanto, a definição de idioma afeta a saída das funções de data.However, the language setting affects the output of date functions. Não aplicávelNot applicable Não aplicávelNot applicable

Funções que validam valores de data e horaFunctions That Validate Date and Time Values

FunçãoFunction SintaxeSyntax Valor retornadoReturn value Tipo de dados de retornoReturn data type DeterminismoDeterminism
ISDATEISDATE ISDATE ( expression )ISDATE ( expression ) Determina se uma expressão de entrada datetime ou smalldatetime tem um valor de data ou hora válido.Determines whether a datetime or smalldatetime input expression has a valid date or time value. intint 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.ISDATE is deterministic only used with the CONVERT function, when the CONVERT style parameter is specified, and when style is not equal to 0, 100, 9, or 109.

Tópicos relacionados à data e à horaDate and time-related topics

TópicoTopic DESCRIÇÃODescription
CAST e CONVERT (Transact-SQL)CAST and 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.Provides information about the conversion of date and time values to and from string literals, and other date and time formats.
Gravar instruções Transact-SQL internacionaisWrite International Transact-SQL Statements Fornece diretrizes para a portabilidade de bancos de dados e aplicativos de bancos de dados que usam instruções Transact-SQLTransact-SQL de um idioma a outro, ou que dão suporte a vários idiomas.Provides guidelines for portability of databases and database applications that use Transact-SQLTransact-SQL statements from one language to another, or that support multiple languages.
Funções escalares ODBC (Transact-SQL)ODBC Scalar Functions (Transact-SQL) Fornece informações sobre as funções escalares ODBC disponíveis para uso em instruções Transact-SQLTransact-SQL.Provides information about ODBC scalar functions available for use in Transact-SQLTransact-SQL statements. Isso inclui funções de data e hora ODBC.This includes ODBC date and time functions.
AT TIME ZONE (Transact-SQL)AT TIME ZONE (Transact-SQL) Fornece conversão de fuso horário.Provides time zone conversion.

Confira tambémSee also

FunçõesFunctions
Tipos de dados (Transact-SQL)Data Types (Transact-SQL)