Статьи

Типи даних і функції дати і часу (Transact-SQL) - SQL Server

  1. Функції, які повертають значення дати і часу з їх компонентів Functions That Return Date and Time Values ​​from Their Parts
  2. Див. Також розділ See also

ОБЛАСТЬ ЗАСТОСУВАННЯ: ОБЛАСТЬ ЗАСТОСУВАННЯ:   SQL Server   База даних SQL Azure   Сховище даних SQL Azure   Parallel Data Warehouse APPLIES TO:   SQL Server   Azure SQL Database   Azure SQL Data Warehouse   Parallel Data Warehouse   У розділах цієї статті представлений огляд всіх типів даних і функцій дати і часу Transact-SQL Transact-SQL SQL Server База даних SQL Azure Сховище даних SQL Azure Parallel Data Warehouse APPLIES TO: SQL Server Azure SQL Database Azure SQL Data Warehouse Parallel Data Warehouse

У розділах цієї статті представлений огляд всіх типів даних і функцій дати і часу Transact-SQL Transact-SQL. The sections in this topic cover all Transact-SQL Transact-SQL date and time data types and functions.

Типи даних дати і часу Transact-SQL Transact-SQL перераховані в наступній таблиці: The Transact-SQL Transact-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 Зсув часового поясу Time zone offset time time чч: мм: сс [.ннннннн] hh: mm: ss [.nnnnnnn] Від 00: 00: 00.0000000 до 23: 59: 59.9999999 00: 00: 00.0000000 through 23: 59: 59.9999999 100 наносекунд 100 nanoseconds від 3 до 5 3 to 5 Так Yes ні No date date РРРР-ММ-ДД YYYY-MM-DD Від 0001-01-01 до 31.12.99 0001-01-01 through 9999-12-31 1 день 1 day 3 3 нет No ні No smalldatetime smalldatetime РРРР-ММ-ДД гг: мм: сс YYYY-MM-DD hh: mm: ss Від 01.01.1900 до 06.06.2079 1900-01-01 through 2079-06-06 1 хвилина 1 minute 4 4 ​​нет No ні No datetime datetime РРРР-ММ-ДД гг: мм: сс [.ннн] YYYY-MM-DD hh: mm: ss [.nnn] Від 01.01.1753 до 31.12.9999 1753-01-01 through 9999-12-31 0,00333 секунди 0.00333 second 8 8 ні No ні No datetime2 datetime2 РРРР-ММ-ДД гг: мм: сс [.ннннннн] YYYY-MM-DD hh: mm: ss [.nnnnnnn] Від 0001-01-01 00: 00: 00.0000000 до 9999-12-31 23: 59: 59.9999999 0001-01-01 00: 00: 00.0000000 through 9999-12-31 23: 59: 59.9999999 100 наносекунд 100 nanoseconds Від 6 до 8 6 to 8 Та Yes ні No datetimeoffset datetimeoffset РРРР-ММ-ДД гг: мм: сс [.ннннннн] [+ | -] чч: мм YYYY-MM-DD hh: mm: ss [.nnnnnnn] [+ | -] hh: mm Від 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 до 10 8 to 10 Та Yes Так Yes

Примітка

Тип даних Transact-SQL Transact-SQL rowversion не відноситься до типів даних дати і часу. The Transact-SQL Transact-SQL rowversion data type is not a date or time data type. Тип даних timestamp є застарілим синонімом rowversion. timestamp is a deprecated synonym for rowversion.

У наступних таблицях наводяться функції дати і часу Transact-SQL Transact-SQL. The following tables list the Transact-SQL Transact-SQL date and time functions. Додаткові відомості про детермінізм см. В статті Детерміновані і недетерміновані функції . See Deterministic and Nondeterministic Functions for more information about determinism.

Transact-SQL Transact-SQL успадковує всі значення системної дати і часу від операційної системи комп'ютера, на якому працює екземпляр SQL Server SQL Server. derives all system date and time values ​​from the operating system of the computer on which the instance of SQL Server SQL Server runs.

SQL Server 2017 SQL Server 2017 отримує дату й час за допомогою функції GetSystemTimeAsFileTime () Windows API. derives the date and time values ​​through use of the GetSystemTimeAsFileTime () Windows API. Точність залежить від фізичного обладнання та версії Windows, в якій запущений екземпляр SQL Server SQL Server. The accuracy depends on the computer hardware and version of Windows on which the instance of SQL Server SQL 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.

Компонент Function Синтаксис Syntax Значення, що повертається Return value Тип повертаються даних Return data type Детермінізм Determinism SYSDATETIME SYSDATETIME SYSDATETIME () SYSDATETIME () Повертає значення типу datetime2 (7), яке містить дату і час комп'ютера, на якому запущено екземпляр SQL Server SQL Server. Returns a datetime2 (7) value containing the date and time of the computer on which the instance of SQL Server SQL Server runs . Значення, що повертається не містить зміщення часового поясу. The returned value does not include the time zone offset. datetime2 (7) datetime2 (7) недетермінірованного Nondeterministic SYSDATETIMEOFFSET SYSDATETIMEOFFSET SYSDATETIMEOFFSET () SYSDATETIMEOFFSET () Повертає значення типу datetimeoffset (7), яке містить дату і час комп'ютера, на якому запущено екземпляр SQL Server SQL Server. Returns a datetimeoffset (7) value containing the date and time of the computer on which the instance of SQL Server SQL Server runs . Значення, що повертається містить зміщення часового поясу. The returned value includes the time zone offset. datetimeoffset (7) datetimeoffset (7) недетермінірованного Nondeterministic SYSUTCDATETIME SYSUTCDATETIME SYSUTCDATETIME () SYSUTCDATETIME () Повертає значення типу datetime2 (7), яке містить дату і час комп'ютера, на якому запущено екземпляр SQL Server SQL Server. Returns a datetime2 (7) value containing the date and time of the computer on which the instance of SQL Server SQL Server is running . Функція повертає значення дати і часу в форматі UTC. The function returns the date and time values ​​as UTC time (Coordinated Universal Time). datetime2 (7) datetime2 (7) недетермінірованного Nondeterministic Компонент Function Синтаксис Syntax Значення, що повертається Return value Тип повертаються даних Return data type Детермінізм Determinism CURRENT_TIMESTAMP CURRENT_TIMESTAMP CURRENT_TIMESTAMP CURRENT_TIMESTAMP Повертає значення типу datetime, яке містить дату і час комп'ютера, на якому запущено екземпляр SQL Server SQL Server. Returns a datetime value containing the date and time of the computer on which the instance of SQL Server SQL Server runs . Значення, що повертається не містить зміщення часового поясу. The returned value does not include the time zone offset. datetime datetime недетермінірованного Nondeterministic GETDATE GETDATE GETDATE () GETDATE () Повертає значення типу datetime, яке містить дату і час комп'ютера, на якому запущено екземпляр SQL Server SQL Server. Returns a datetime value containing the date and time of the computer on which the instance of SQL Server SQL Server runs . Значення, що повертається не містить зміщення часового поясу. The returned value does not include the time zone offset. datetime datetime недетермінірованного Nondeterministic GETUTCDATE GETUTCDATE GETUTCDATE () GETUTCDATE () Повертає значення типу datetime, яке містить дату і час комп'ютера, на якому запущено екземпляр SQL Server SQL Server. Returns a datetime value containing the date and time of the computer on which the instance of SQL Server SQL Server runs . Функція повертає значення дати і часу в форматі UTC. The function returns the date and time values ​​as UTC time (Coordinated Universal Time). datetime datetime недетермінірованного Nondeterministic Компонент Function Синтаксис Syntax Значення, що повертається Return value Тип повертаються даних Return data type Детермінізм Determinism DATENAME DATENAME DATENAME (datepart, date) DATENAME (datepart, date) Повертає рядок символів, що представляє вказану частину datepart заданого типу date. Returns a character string representing the specified datepart of the specified date . nvarchar nvarchar недетермінірованного Nondeterministic DATEPART DATEPART DATEPART (datepart, date) DATEPART (datepart, date) Повертає ціле число, яке представляє вказану частину datepart заданого типу date. Returns an integer representing the specified datepart of the specified date . int int недетермінірованного Nondeterministic DAY DAY DAY (date) DAY (date) Повертає ціле число, яке представляє частину дня зазначеного типу date. Returns an integer representing the day part of the specified date . int int Детерминированное Deterministic MONTH MONTH MONTH (date) MONTH (date) Повертає ціле число, яке представляє частину місяця зазначеного типу date. Returns an integer representing the month part of a specified date . int int Детерминированное Deterministic YEAR YEAR YEAR (date) YEAR (date) Повертає ціле число, яке представляє частину року зазначеного типу date. Returns an integer representing the year part of a specified date . int int Детерминированное Deterministic

Функції, які повертають значення дати і часу з їх компонентів Functions That Return Date and Time Values ​​from Their Parts

Компонент Function Синтаксис Syntax Значення, що повертається Return value Тип повертаються даних Return data type Детермінізм Determinism DATEFROMPARTS DATEFROMPARTS DATEFROMPARTS (year, month, day) DATEFROMPARTS (year, month, day) Повертає значення date, відповідне зазначеному числу, місяця і року. Returns a date value for the specified year, month, and day. date date Детерминированное Deterministic DATETIME2FROMPARTS DATETIME2FROMPARTS DATETIME2FROMPARTS (year, month, day, hour, minute, seconds, fractions, precision) DATETIME2FROMPARTS (year, month, day, hour, minute, seconds, fractions, precision) Повертає значення datetime2, відповідне зазначеної дати і часу із заданою точністю. Returns a datetime2 value for the specified date and time , with the specified precision. datetime2 (precision) datetime2 (precision) Детерминированное Deterministic DATETIMEFROMPARTS DATETIMEFROMPARTS DATETIMEFROMPARTS (year, month, day, hour, minute, seconds, milliseconds) DATETIMEFROMPARTS (year, month, day, hour, minute, seconds, milliseconds) Повертає значення datetime, відповідне зазначеної дати і часу. Returns a datetime value for the specified date and time . datetime datetime Детерминированное Deterministic DATETIMEOFFSETFROMPARTS DATETIMEOFFSETFROMPARTS 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) Повертає значення datetimeoffset для зазначених дати і часу з зазначеними зміщенням і точністю. Returns a datetimeoffset value for the specified date and time , with the specified offsets and precision. datetimeoffset (precision) datetimeoffset (precision) Детерминированное Deterministic SMALLDATETIMEFROMPARTS SMALLDATETIMEFROMPARTS SMALLDATETIMEFROMPARTS (year, month, day, hour, minute) SMALLDATETIMEFROMPARTS (year, month, day, hour, minute) Повертає значення smalldatetime, відповідне зазначеної дати і часу. Returns a smalldatetime value for the specified date and time . smalldatetime smalldatetime Детерминированное Deterministic TIMEFROMPARTS TIMEFROMPARTS TIMEFROMPARTS (hour, minute, seconds, fractions, precision) TIMEFROMPARTS (hour, minute, seconds, fractions, precision) Повертає значення time, відповідне зазначеного часу із заданою точністю. Returns a time value for the specified time, with the specified precision. time (precision) time (precision) Детерминированное Deterministic Компонент Function Синтаксис Syntax Значення, що повертається Return value Тип повертаються даних Return data type Детермінізм Determinism DATEDIFF DATEDIFF DATEDIFF (datepart, startdate, enddate) DATEDIFF (datepart, startdate, enddate) Повертає кількість кордонів дати або часу datepart, що перетинаються між двома зазначеними датами. Returns the number of date or time datepart boundaries , crossed between two specified dates. int int Детерминированное Deterministic DATEDIFF_BIG DATEDIFF_BIG DATEDIFF_BIG (datepart, startdate, enddate) DATEDIFF_BIG (datepart, startdate, enddate) Повертає кількість кордонів дати або часу datepart, що перетинаються між двома зазначеними датами. Returns the number of date or time datepart boundaries , crossed between two specified dates. bigint bigint Детерминированное Deterministic Компонент Function Синтаксис Syntax Значення, що повертається Return value Тип повертаються даних Return data type Детермінізм Determinism DATEADD DATEADD 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 . Тип даних аргументу date The data type of the date argument Детерминированное Deterministic EOMONTH EOMONTH EOMONTH (start_date [, month_to_add]) EOMONTH (start_date [, month_to_add]) Повертає останній день місяця, що містить зазначену дату, з необов'язковим зміщенням. 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. детерміноване Deterministic SWITCHOFFSET SWITCHOFFSET SWITCHOFFSET (DATETIMEOFFSET, time_zone) SWITCHOFFSET (DATETIMEOFFSET, time_zone) Функція SWITCHOFFSET змінює зсув годинного пояса для значення DATETIMEOFFSET і зберігає значення UTC. SWITCHOFFSET changes the time zone offset of a DATETIMEOFFSET value, and preserves the UTC value. Значення datetimeoffset з точністю в долях секунд, заданої в аргументі DATETIMEOFFSET datetimeoffset with the fractional precision of the DATETIMEOFFSET Детерминированное Deterministic TODATETIMEOFFSET TODATETIMEOFFSET TODATETIMEOFFSET (expression, time_zone) TODATETIMEOFFSET (expression, time_zone) 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 з точністю в долях секунд, заданої в аргументі datetime datetimeoffset with the fractional precision of the datetime argument Детерминированное Deterministic Компонент Function Синтаксис Syntax Значення, що повертається Return value Тип повертаються даних Return data type Детермінізм Determinism @@ DATEFIRST @@ DATEFIRST @@ DATEFIRST @@ DATEFIRST Повертає поточне значення параметра SET DATEFIRST для сеансу. Returns the current value, for the session, of SET DATEFIRST. tinyint tinyint недетермінірованного Nondeterministic SET DATEFIRST SET DATEFIRST SET DATEFIRST {number | * @ *** number_var} SET DATEFIRST {number | * @ *** number_var} Встановлює перший день тижня у вигляді числа від 1 до 7. Sets the first day of the week to a number from 1 through 7. Не застосовується Not applicable Не застосовується Not applicable SET DATEFORMAT SET DATEFORMAT 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. Не застосовується Not applicable застосовується Not applicable @@ LANGUAGE @@ LANGUAGE @@ LANGUAGE @@ LANGUAGE Повертає назву використовується в даний момент мови. 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. Не застосовується Not applicable застосовується Not applicable SET LANGUAGE SET LANGUAGE 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. Не застосовується Not applicable застосовується Not applicable sp_helplanguage sp_helplanguage sp_helplanguage [[@language =] 'language'] sp_helplanguage [[@language =] 'language'] Повертає відомості про формат дати всіх підтримуваних мов. 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 Компонент Function Синтаксис Syntax Значення, що повертається Return value Тип повертаються даних Return data type Детермінізм Determinism ISDATE ISDATE ISDATE (expression) ISDATE (expression) Визначає, чи є вхідний вираз типу datetime або smalldatetime допустимим значенням дати або часу. Determines whether a datetime or smalldatetime input expression has a valid date or time value . int int Функція 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.

Див. Також розділ See also

функції Functions
Типи даних (Transact-SQL) Data Types (Transact-SQL)

Новости