DATETIME2FROMPARTS (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)

Эта функция возвращает значение datetime2 для указанных аргументов даты и времени. Точность возвращаемого значения определяется аргументом precision.

Соглашения о синтаксисе Transact-SQL

Синтаксис

DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision )  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

year
Целочисленное выражение, задающее год.

month
Целочисленное выражение, задающее месяц.

day
Целочисленное выражение, задающее день.

hour
Целочисленное выражение, задающее часы.

minute
Целочисленное выражение, задающее минуты.

seconds
Целочисленное выражение, задающее секунды.

fractions
Целочисленное выражение, задающее дробное значение секунд.

precision
Целочисленное выражение, которое определяет точность значения datetime2, возвращаемого функцией DATETIME2FROMPARTS.

Типы возвращаемых данных

datetime2(precision)

Замечания

Функция DATETIME2FROMPARTS возвращает полностью инициализированное значение типа datetime2. Функция DATETIME2FROMPARTS вызывает ошибку, если по крайней мере один обязательный аргумент имеет недопустимое значение. Функция DATETIME2FROMPARTS возвращает NULL, если по крайней мере один обязательный аргумент имеет значение NULL. Однако если аргумент precision имеет значение NULL, функция DATETIME2FROMPARTS вызывает ошибку.

Аргумент fractions зависит от аргумента precision. Например, если значение precision равно 7, то каждая дробная часть представляет 100 наносекунд; если значение precision равно 3, то каждая дробная часть представляет миллисекунду. Если значение precision равно нулю, то значение fractions также должно быть равно нулю. В противном случае функция DATETIME2FROMPARTS вызовет ошибку.

Эта функция может быть удалена на серверы SQL Server 2012 (11.x) и выше. Он не удален на серверы с версией ниже SQL Server 2012 (11.x).

Примеры

А. Пример без долей секунды

SELECT DATETIME2FROMPARTS ( 2010, 12, 31, 23, 59, 59, 0, 0 ) AS Result;  

Результирующий набор:

Result  
---------------------------  
2010-12-31 23:59:59.0000000  
  
(1 row(s) affected)  

B. Пример с долями секунд

В этом примере показано использование параметров fractions и precision:

  1. Если параметр fractions имеет значение 5, а параметр precision — значение 1, то значение параметра fractions представляет 5/10 секунды.

  2. Если параметр fractions имеет значение 50, а параметр precision — значение 2, то значение параметра fractions представляет 50/100 секунды.

  3. Если параметр fractions имеет значение 500, а параметр precision — значение 3, то значение параметра fractions представляет 500/1000 секунды.

SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 5, 1 );  
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 50, 2 );  
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 500, 3 );  
GO  

Результирующий набор:

----------------------  
2011-08-15 14:23:44.5  
  
(1 row(s) affected)  
  
----------------------  
2011-08-15 14:23:44.50  
  
(1 row(s) affected)  
  
----------------------  
2011-08-15 14:23:44.500  
  
(1 row(s) affected)  

См. также

datetime2 (Transact-SQL)