Поделиться через


DATETIME2FROMPARTS (Transact-SQL)

Возвращает значение datetime2, соответствующее указанной дате и времени с заданной точностью.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Применимо для следующих объектов: SQL Server (SQL Server 2012 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск).

Синтаксис

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

Аргументы

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

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

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

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

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

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

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

  • precision
    Целочисленное литеральное значение, определяющее точность возвращаемого значения datetime2.

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

datetime2 ( precision )

Замечания

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

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

Для серверов SQL Server 2014 и выше данная функция может быть удаленной. Данная функция не может быть удаленной для серверов с версией ниже SQL Server 2014.

Примеры

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

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

Ниже приводится результирующий набор.

Result
---------------------------
2010-12-31 23:59:59.0000000

(1 row(s) affected)

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

В следующем примере показывается использование параметров 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)