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 |
[참고자료]
l 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
'SQL Server > SQL Server Tip' 카테고리의 다른 글
SQL Server 2012 데이터 변환 함수 - PARSE, TRY_PARSE, TRY_CONVERT (0) | 2015.07.23 |
---|---|
SQL Server 2012 논리 함수(IIF, CHOOSE) (0) | 2015.07.23 |
SQL Server 2012 FORMAT 함수와 CONCAT 함수 (0) | 2015.07.23 |
하위 쿼리 사용시 공간 인덱스 사용 불가 (0) | 2015.07.23 |
Spatial Data Type (공간 데이터 형식) (0) | 2015.07.23 |