Применимо к:Applies to:SQL ServerSQL Server (все поддерживаемые версии) SQL ServerSQL Server (all supported versions) База данных SQL AzureAzure SQL DatabaseБаза данных SQL AzureAzure SQL DatabaseУправляемый экземпляр SQL AzureAzure SQL Managed InstanceУправляемый экземпляр SQL AzureAzure SQL Managed InstanceAzure Synapse AnalyticsAzure Synapse AnalyticsAzure Synapse AnalyticsAzure Synapse AnalyticsПрименимо к:Applies to:SQL ServerSQL Server (все поддерживаемые версии) SQL ServerSQL Server (all supported versions) База данных SQL AzureAzure SQL DatabaseБаза данных SQL AzureAzure SQL DatabaseУправляемый экземпляр SQL AzureAzure SQL Managed InstanceУправляемый экземпляр SQL AzureAzure SQL Managed InstanceAzure Synapse AnalyticsAzure Synapse AnalyticsAzure Synapse AnalyticsAzure Synapse Analytics
В разделах этой статьи представлен обзор всех типов данных и функций даты и времени Transact-SQLTransact-SQL.The sections in this topic cover all Transact-SQLTransact-SQL date and time data types and functions.
Типы данных даты и времениDate and Time data types
Типы данных даты и времени Transact-SQLTransact-SQL перечислены в следующей таблице:The Transact-SQLTransact-SQL date and time data types are listed in the following table:
Тип данныхData type
ФорматFormat
ДиапазонRange
ТочностьAccuracy
Объем памяти (в байтах)Storage size (bytes)
Определяемая пользователем точность в долях секундыUser-defined fractional second precision
От 0001-01-01 00:00:00.0000000 до 9999-12-31 23:59:59.9999999 (время в формате UTC)0001-01-01 00:00:00.0000000 through 9999-12-31 23:59:59.9999999 (in UTC)
100 наносекунд100 nanoseconds
От 8 до 108 to 10
ДаYes
ДаYes
Примечание
Тип данных Transact-SQLTransact-SQLrowversion не относится к типам данных даты и времени.The Transact-SQLTransact-SQLrowversion data type is not a date or time data type.Тип данных timestamp является устаревшим синонимом rowversion.timestamp is a deprecated synonym for rowversion.
Функции, возвращающие значения системной даты и времениFunction That Return System Date and Time Values
Transact-SQLTransact-SQLнаследует все значения системной даты и времени от операционной системы компьютера, на котором работает экземпляр SQL ServerSQL Server.derives all system date and time values from the operating system of the computer on which the instance of SQL ServerSQL Server runs.
Высокоточные функции системной даты и времениHigher-Precision System Date and Time Functions
SQL Server 2019 (15.x)SQL Server 2019 (15.x)получает значения даты и времени с помощью функции GetSystemTimeAsFileTime() Windows API.derives the date and time values through use of the GetSystemTimeAsFileTime() Windows API.Точность зависит от физического оборудования и версии Windows, в которой запущен экземпляр SQL ServerSQL Server.The accuracy depends on the computer hardware and version of Windows on which the instance of SQL ServerSQL Server running.Точность возвращаемых значений этого API-интерфейса задана равной 100 нс.This API has a precision fixed at 100 nanoseconds.Точность может быть определена с помощью метода GetSystemTimeAdjustment() API-интерфейса Windows.Use the GetSystemTimeAdjustment() Windows API to determine the accuracy.
Возвращает значение типа datetime2(7) , которое содержит дату и время компьютера, на котором запущен экземпляр SQL ServerSQL Server.Returns a datetime2(7) value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs.Возвращаемое значение не содержит смещение часового пояса.The returned value does not include the time zone offset.
Возвращает значение типа datetimeoffset(7) , которое содержит дату и время компьютера, на котором запущен экземпляр SQL ServerSQL Server.Returns a datetimeoffset(7) value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs.Возвращаемое значение содержит смещение часового пояса.The returned value includes the time zone offset.
Возвращает значение типа datetime2(7) , которое содержит дату и время компьютера, на котором запущен экземпляр SQL ServerSQL Server.Returns a datetime2(7) value containing the date and time of the computer on which the instance of SQL ServerSQL Server is running.Функция возвращает значения даты и времени в формате UTC.The function returns the date and time values as UTC time (Coordinated Universal Time).
datetime2(7)datetime2(7)
НедетерминированнаяNondeterministic
Функции системной даты и времени меньшей точностиLower-Precision System Date and Time Functions
Возвращает значение типа datetime, которое содержит дату и время компьютера, на котором запущен экземпляр SQL ServerSQL Server.Returns a datetime value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs.Возвращаемое значение не содержит смещение часового пояса.The returned value does not include the time zone offset.
Возвращает значение типа datetime, которое содержит дату и время компьютера, на котором запущен экземпляр SQL ServerSQL Server.Returns a datetime value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs.Возвращаемое значение не содержит смещение часового пояса.The returned value does not include the time zone offset.
Возвращает значение типа datetime, которое содержит дату и время компьютера, на котором запущен экземпляр SQL ServerSQL Server.Returns a datetime value containing the date and time of the computer on which the instance of SQL ServerSQL Server runs.Функция возвращает значения даты и времени в формате UTC.The function returns the date and time values as UTC time (Coordinated Universal Time).
datetimedatetime
НедетерминированнаяNondeterministic
Функции, возвращающие компоненты даты и времениFunctions That Return Date and Time Parts
DATENAME ( datepart , date )DATENAME ( datepart , date )
Возвращает строку символов, представляющую указанную часть datepart заданного типа date.Returns a character string representing the specified datepart of the specified date.
DATEPART ( datepart , date )DATEPART ( datepart , date )
Возвращает целое число, представляющее указанную часть datepart заданного типа date.Returns an integer representing the specified datepart of the specified date.
Возвращает значение datetime2, соответствующее указанной дате и времени с заданной точностью.Returns a datetime2 value for the specified date and time, with the specified precision.
Возвращает значение datetimeoffset для указанных даты и времени с указанными смещением и точностью.Returns a datetimeoffset value for the specified date and time, with the specified offsets and precision.
Возвращает значение time, соответствующее указанному времени с заданной точностью.Returns a time value for the specified time, with the specified precision.
time(precision)time(precision)
ДетерминированноеDeterministic
Функции, возвращающие значения разности даты и времениFunctions That Return Date and Time Difference Values
Возвращает количество границ даты или времени datepart, пересекающихся между двумя указанными датами.Returns the number of date or time datepart boundaries, crossed between two specified dates.
Возвращает количество границ даты или времени datepart, пересекающихся между двумя указанными датами.Returns the number of date or time datepart boundaries, crossed between two specified dates.
bigintbigint
ДетерминированноеDeterministic
Функции, изменяющие значения даты и времениFunctions That Modify Date and Time Values
DATEADD (datepart , number , date )DATEADD (datepart , number , date )
Возвращает новое значение datetime, добавляя интервал к указанной части datepart заданной даты date.Returns a new datetime value by adding an interval to the specified datepart of the specified date.
Тип данных аргумента dateThe data type of the date argument
Возвращает последний день месяца, содержащего указанную дату, с необязательным смещением.Returns the last day of the month containing the specified date, with an optional offset.
Тип возвращаемого значения — это тип аргумента start_date или тип данных date.Return type is the type of the start_date argument, or alternately, the date data type.
Функция SWITCHOFFSET изменяет смещение часового пояса для значения DATETIMEOFFSET и сохраняет значение UTC.SWITCHOFFSET changes the time zone offset of a DATETIMEOFFSET value, and preserves the UTC value.
Значение datetimeoffset с точностью в долях секунд, заданной в аргументе DATETIMEOFFSETdatetimeoffset with the fractional precision of the DATETIMEOFFSET
TODATETIMEOFFSET преобразует значение типа datetime2 в значение типа datetimeoffset.TODATETIMEOFFSET transforms a datetime2 value into a datetimeoffset value.Функция TODATETIMEOFFSET преобразует значение datetime2 в местное время для указанного time_zone.TODATETIMEOFFSET interprets the datetime2 value in local time, for the specified time_zone.
Значение datetimeoffset с точностью в долях секунд, заданной в аргументе datetimedatetimeoffset with the fractional precision of the datetime argument
ДетерминированноеDeterministic
Функции, устанавливающие или возвращающие функции формата сеансаFunctions That Set or Return Session Format Functions
SET DATEFORMAT { format | @format_var }SET DATEFORMAT { format | @format_var }
Задает порядок составляющих даты (месяц/день/год) для ввода данных типа datetime или smalldatetime.Sets the order of the dateparts (month/day/year) for entering datetime or smalldatetime data.
Возвращает название использующегося в настоящий момент языка.Returns the name of the language in current used.Функция @@LANGUAGE не является функцией даты или времени.@@LANGUAGE is not a date or time function.Однако на данные, выводимые функциями даты, могут повлиять настройки языка.However, the language setting can affect the output of date functions.
SET LANGUAGE { [ N ] 'language' | @language_var }SET LANGUAGE { [ N ] 'language' | @language_var }
Устанавливает языковую среду сеанса и системных сообщений.Sets the language environment for the session and system messages.SET LANGUAGE не является функцией даты или времени.SET LANGUAGE is not a date or time function.Однако на данные, выводимые функциями даты, влияет параметр языка.However, the language setting affects the output of date functions.
Возвращает сведения о формате даты всех поддерживаемых языков.Returns information about date formats of all supported languages.sp_helplanguage не является хранимой процедурой даты или времени.sp_helplanguage is not a date or time stored procedure.Однако на данные, выводимые функциями даты, влияет параметр языка.However, the language setting affects the output of date functions.
НеприменимоNot applicable
НеприменимоNot applicable
Функции, проверяющие значения даты и времениFunctions That Validate Date and Time Values
Определяет, является ли входное выражение типа datetime или smalldatetime допустимым значением даты или времени.Determines whether a datetime or smalldatetime input expression has a valid date or time value.
intint
Функция ISDATE детерминирована, только если используется совместно с функцией CONVERT и если заданный параметр стиля CONVERT не равен 0, 100, 9 или 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.
Дата и время — см. такжеDate and time-related topics
Возвращает значение в указанных формате и культуре (не обязательно).Returns a value formatted with the specified format and optional culture.Для выполнения форматирования значения даты, времени и чисел с учетом локали в виде строк используется функция FORMAT.Use the FORMAT function for locale-aware formatting of date/time and number values as strings.
Предоставляет сведения о преобразовании значений даты и времени в строковые литералы и обратно, а также в другие форматы даты и времени.Provides information about the conversion of date and time values to and from string literals, and other date and time formats.
Предоставляет рекомендации относительно переносимости баз данных и приложений баз данных, использующих инструкции Transact-SQLTransact-SQL, с одного языка на другой или в многоязычную среду.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.
Предоставляет сведения о скалярных функциях ODBC, которые могут использоваться в инструкциях Transact-SQLTransact-SQL.Provides information about ODBC scalar functions available for use in Transact-SQLTransact-SQL statements.К ним относятся функции даты и времени ODBC.This includes ODBC date and time functions.