DATETIME2FROMPARTS(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

이 함수는 지정된 날짜 및 시간 인수에 대한 datetime2 값을 반환합니다. 반환된 값에는 전체 자릿수 인수에서 지정한 전체 자릿수가 있습니다.

Transact-SQL 구문 표기 규칙

Syntax

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

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

year
년을 지정하는 정수 식입니다.

month
월을 지정하는 정수 식입니다.

day
일을 지정하는 정수 식입니다.

hour
시간을 지정하는 정수 식입니다.

minute
분을 지정하는 정수 식입니다.


초를 지정하는 정수 식입니다.

fractions
소수 자릿수 초 값을 지정하는 정수 식입니다.

전체 자릿수
DATETIME2FROMPARTS에서 반환하는 datetime2 값의 전체 자릿수를 지정하는 정수 식입니다.

반환 형식

datetime2(precision)

설명

DATETIME2FROMPARTS는 완전히 초기화된 datetime2 값을 반환합니다. DATETIME2FROMPARTS는 적어도 하나 이상의 필수 인수에 잘못된 값이 있는 경우 오류를 발생시킵니다. DATETIME2FROMPARTS는 적어도 하나 이상의 필수 인수에 null 값이 있는 경우 null을 반환합니다. 그러나 전체 자릿수 인수에 null 값이 있는 경우 DATETIME2FROMPARTS에서 오류를 발생시킵니다.

fractions 인수는 precision 인수에 의존합니다. 예를 들어 precision의 값이 7이면 각 소수 자릿수가 100나노초를 나타내고 precision이 3이면 각 소수 자릿수가 1밀리초를 나타냅니다. precision의 값이 0이면 fractions의 값도 0이어야 합니다. 그렇지 않으면 DATETIME2FROMPARTS가 오류를 발생시킵니다.

이 함수는 SQL Server 2012(11.x) 이상 서버에 대해서는 원격으로 실행할 수 있지만 SQL Server 2012(11.x) 이전 버전이 설치되어 있는 서버에 대해서는 원격으로 실행할 수 없습니다.

예제

A. 소수 단위 초를 사용하지 않는 예

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. 소수 단위 초를 사용하는 예

이 예에서는 fractionsprecision 매개 변수의 사용 방법을 설명합니다.

  1. fractions의 값이 5이고 precision의 값이 1이면, fractions의 값은 1초의 5/10를 나타냅니다.

  2. fractions의 값이 50이고 precision의 값이 2이면, fractions의 값은 1초의 50/100을 나타냅니다.

  3. fractions의 값이 500이고 precision의 값이 3이면, fractions의 값은 1초의 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)