SQL Server/SQL Server Tip

SQL Server 2012 새로운 날짜 및 시간 함수

SungWookKang 2015. 7. 23. 08:53
반응형

SQL Server 2012 새로운 날짜 및 시간 함수 

   

-       Version : SQL Server 2012 

   

SQL Server 2012에서 도입된 새로운 시간 함수에 대해서 알아 본다. 

1. DATEFROMPARTS Function 

2. TIMEFROMPARTS Function 

3. DATETIMEFROMPARTS Function 

4. DATETIME2FROMPARTS Function 

5. SMALLDATETIMEFROMPARTS Function 

6. DATETIMEOFFSETFROMPARTS Function 

7. EOMONTH Function 

   

[DATEFROMPARTS Function] 

지정된 년, 월, 일 기본값으로 날짜를 반환한다. 

--SYNTAX: - DATEFROMPARTS (YEAR, MONTH, DAY) 

/* Using DATEFROMPARTS Function */ 

DECLARE  

@YEAR INT = 2014 

, @MONTH INT = 01  

, @DAY INT = 23  

   

SELECT DATEFROMPARTS (@YEAR, @MONTH, @DAY) AS [Retrieved Data Using DATEFROMPARTS Function] 

GO 

   

 

   

   

[TIMEFROMPARTS Function] 

TIMEFORMATPARTS 기능은 풀 타임 값을 반환 한다. 인수에 따라 정밀도가 다르게 계산된다. 

l  Fraction : 5, precision : 1 인 경우 5/10초 

l  Fraction : 50, precision : 2 인 경우 50/100초 

l  Fraction: 500, precision : 3 인 경우 500/1000초 

   

--SYNTAX: - TIMEFROMPARTS (HOUR, MINUTE, SECONDS, FRACTIONS, PRECISION) 

   

/* Using TIMEFROMPARTS Function */ 

DECLARE  

@HOUR INT = 11 

, @MINUTE INT = 59  

, @SECONDS INT = 59  

   

SELECT  

TIMEFROMPARTS (@HOUR, @MINUTE, @SECONDS, 5, 1)  

AS [Retrieved Data Using TIMEFROMPARTS Function] 

   

SELECT  

TIMEFROMPARTS (@HOUR, @MINUTE, @SECONDS, 50, 2)  

AS [Retrieved Data Using TIMEFROMPARTS Function] 

   

SELECT  

TIMEFROMPARTS (@HOUR, @MINUTE, @SECONDS, 500, 3)  

AS [Retrieved Data Using TIMEFROMPARTS Function] 

   

 

   

   

[DATETIMEFROMPARTS Function] 

전체 날짜 값을 반환 

--SYNTAX: - DATETIMEFROMPARTS (YEAR, MONTH, DAY, HOUR, MINUTE, SECONDS, MILLISECONDS) 

   

/* Using DATETIMEFROMPARTS Function */ 

DECLARE  

@YEAR INT = 2014 

, @MONTH INT = 01  

, @DAY INT = 23  

, @HOUR INT = 11 

, @MINUTE INT = 59  

, @SECONDS INT = 59 

, @MILLISECONDS INT = 0  

   

SELECT  

DATETIMEFROMPARTS (@YEAR, @MONTH, @DAY, @HOUR, @MINUTE, @SECONDS, @MILLISECONDS)  

AS [Retrieved Data Using DATETIMEFROMPARTS Function] 

GO 

   

 

   

   

[DATETIME2FROMPARTS Function] 

Datetime2 값을 반환한다. 

--SYNTAX: - DATETIME2FROMPARTS (YEAR, MONTH, DAY, HOUR, MINUTE, SECONDS, FRACTIONS, PRECISION) 

   

/* Using DATETIME2FROMPARTS Function */ 

   

DECLARE  

@YEAR INT = 2014 

, @MONTH INT = 01  

, @DAY INT = 23  

, @HOUR INT = 11 

, @MINUTE INT = 59  

, @SECONDS INT = 59 

   

SELECT  

DATETIME2FROMPARTS (@YEAR, @MONTH, @DAY, @HOUR, @MINUTE, @SECONDS, 500, 3)  

AS [Retrieved Data Using DATETIME2FROMPARTS Function] 

GO 

   

 

   

   

[SMALLDATETIMEFROMPARTS Function] 

Smalldatetime 값으로 반환한다. 

--SYNTAX: - SMALLDATETIMEFROMPARTS (YEAR, MONTH, DAY, HOUR, MINUTE) 

   

/* Using SMALLDATETIMEFROMPARTS Function */ 

   

DECLARE  

@YEAR INT = 2014 

, @MONTH INT = 01  

, @DAY INT = 23  

, @HOUR INT = 11 

, @MINUTE INT = 59  

   

SELECT  

SMALLDATETIMEFROMPARTS (@YEAR, @MONTH, @DAY, @HOUR, @MINUTE)  

AS [Retrieved Data Using SMALLDATETIMEFROMPARTS Function] 

GO 

   

 

   

   

[DATETIMEOFFSETFROMPARTS Function] 

데이터형식을 datetimeoffset 으로 반환한다. Offset 인수는 기본적으로 시간대 오프셋 값의 시간과 분을 나타내는 데 사용 된다. 

--SYNTAX: - DATETIMEOFFSETFROMPARTS (YEAR, MONTH, DAY, HOUR, MINUTE, SECONDS, FRACTIONS, HOUR_OFFSET, MINUTE_OFFSET, PRECISION)  

   

/* Using DATETIMEOFFSETFROMPARTS Function */ 

   

DECLARE  

@YEAR INT = 2014 

, @MONTH INT = 01  

, @DAY INT = 23  

, @HOUR INT = 11 

, @MINUTE INT = 59 

, @SECONDS INT = 59  

   

SELECT  

DATETIMEOFFSETFROMPARTS (@YEAR, @MONTH, @DAY, @HOUR, @MINUTE,@SECONDS,500, 5, 30, 3)  

AS [Retrieved Data Using DATETIMEOFFSETFROMPARTS Function] 

GO 

   

 

   

   

[EOMONTH Function] 

입력 매개 변수로 전달 된 날 짜 기준으로 해당 월의 마지막 날짜를 계산한다. 

--SYNTAX: - EOMONTH (START_DATE, [, MONTH_TO_ADD ]) 

   

/* Using EOMONTH Function */ 

DECLARE  

@STARTDATE DATETIME = GETDATE() 

   

SELECT EOMONTH (@STARTDATE) AS ThisMonthLastDay 

SELECT EOMONTH (@STARTDATE, 1) AS NextMonthLastDay 

SELECT EOMONTH (@STARTDATE, -1) AS LastMonthLastDay 

GO 

   

 

   

   

[참고자료] 

http://www.mssqltips.com/sqlservertip/2588/new-date-and-time-functions-in-sql-server-2012/ 

l  날짜 및 시간 데이터 형식 및 함수 : 

http://technet.microsoft.com/ko-kr/library/ms186724.aspx 

   

   

   

2014-01-23 / 강성욱 / http://sqlmvp.kr 

반응형