인쇄      온라인 도움말의 PDF 버전 열기


이전 항목

다음 항목

일정 일자/시간 함수

날짜/시간 함수는 날짜, 시간, 타임스탬프 데이터 유형을 가진 데이터를 처리합니다. 타임스탬프 데이터 유형은 날짜와 시간의 조합입니다.

모든 일자 함수는 ISO 8601을 준수합니다. 이 함수는 해당 연도의 첫 주가 목표일이 포함된 첫 번째 전체 주인 경우 특히 Week_Of_Year 및 Week_Of_Quarter와 같은 함수에 영향을 미칩니다. 일자 함수를 계산하는 방법에 대한 자세한 내용은 ISO 8601 표준을 참조하십시오.

Current_Date

현재 날짜를 반환합니다. 날짜는 컴퓨터에서 결정합니다. 시간 항목은 포함되지 않습니다.

구문:

CURRENT_DATE

Current_Time

현재 시간을 반환합니다. 시간은 컴퓨터에서 결정하며, 값에는 날짜 컴포넌트가 포함되지 않습니다.

참고: 이 함수는 보고서가 실행되는 시점의 현재 시간을 가져옵니다. 분석 주제 영역에서 이 함수를 사용하면 보고서를 캐시할 수 없으며 성능이 저하됩니다.

구문:

CURRENT_TIME (n)

설명:

n

초 이하 단위를 표시하는 데 사용되는 소수 자릿수를 나타내는 정수입니다. 인수는 선택 사항이며 인수가 지정되지 않은 경우 함수는 기본 자릿수를 반환합니다.

Current_TimeStamp

현재 날짜/시간 스탬프를 반환합니다. 타임스탬프는 컴퓨터에서 결정합니다.

참고: 이 함수는 보고서가 실행되는 시점의 현재 시간을 가져옵니다. 분석 주제 영역에서 이 함수를 사용하면 보고서를 캐시할 수 없으며 성능이 저하됩니다.

구문:

CURRENT_TIMESTAMP (n)

설명:

n

초 이하 단위를 표시하는 데 사용되는 소수 자릿수를 나타내는 정수입니다. 인수는 선택 사항이며 인수가 지정되지 않은 경우 함수는 기본 자릿수를 반환합니다.

Day_Of_Quarter

분기를 기준으로 지정 날짜의 일에 해당하는 수(1 - 92)를 반환합니다.

구문:

DAY_OF_QUARTER (date_expression)

설명:

date_expression

날짜를 평가하는 식입니다.

DayName

지정 날짜의 요일 이름(영어)을 반환합니다.

구문:

DAYNAME (date_expression)

설명:

date_expression

날짜를 평가하는 식입니다.

DayOfMonth

월을 기준으로 지정 날짜의 일에 해당하는 수를 반환합니다.

구문:

DAYOFMONTH (date_expression)

설명:

date_expression

날짜를 평가하는 식입니다.

DayOfWeek

주를 기준으로 지정 날짜의 일에 해당하는 수(1 - 7)를 반환합니다. 1은 일요일에 해당하고 7은 토요일에 해당합니다.

구문:

DAYOFWEEK (date_expression)

설명:

date_expression

날짜를 평가하는 식입니다.

DayOfYear

년을 기준으로 지정 날짜의 일에 해당하는 수(1 - 366)를 반환합니다.

구문:

DAYOFYEAR (date_expression)

설명:

date_expression

날짜를 평가하는 식입니다.

Hour

지정 시간의 시에 해당하는 수(0 - 23)를 반환합니다. 예를 들어, 0은 오전 12시에 해당하고, 23은 저녁 11시에 해당합니다.

구문:

HOUR (time_expression)

설명:

time_expression

시간을 평가하는 식입니다.

Minute

지정 시간의 분에 해당하는 수(0 - 59)를 반환합니다.

구문:

MINUTE (time_expression)

설명:

time_expression

시간을 평가하는 식입니다.

Month

지정 날짜의 월에 해당하는 수(1 - 12)를 반환합니다.

구문:

MONTH (date_expression)

설명:

date_expression

날짜를 평가하는 식입니다.

Month_Of_Quarter

지정 날짜의 분기 중 월에 해당하는 수(1 - 3)를 반환합니다.

구문:

MONTH_OF_QUARTER (date_expression)

설명:

date_expression

날짜를 평가하는 식입니다.

MonthName

지정 날짜의 월 이름(영어)을 반환합니다.

구문:

MONTHNAME (date_expression)

설명:

date_expression

날짜를 평가하는 식입니다.

Now

현재 타임스탬프를 반환합니다. NOW 함수는 CURRENT_TIMESTAMP 함수와 동일합니다.

참고: 이 함수는 보고서가 실행되는 시점의 현재 시간을 가져옵니다. 분석 주제 영역에서 이 함수를 사용하면 보고서를 캐시할 수 없으며 성능이 저하됩니다.

구문:

NOW ()

Quarter_Of_Year

지정 날짜의 연중 분기에 해당하는 수(1 - 4)를 반환합니다.

구문:

QUARTER_OF_YEAR (date_expression)

설명:

date_expression

날짜를 평가하는 식입니다.

Second

지정 시간의 초에 해당하는 수(0 - 59)를 반환합니다.

구문:

SECOND (time_expression)

설명:

time_expression

시간을 평가하는 식입니다.

TimestampAdd

TimestampAdd 함수는 지정된 타임스탬프에 특정 간격을 더합니다. 단일 타임스탬프가 반환됩니다.

구문:

TimestampAdd (interval, integer_expression, timestamp_expression)

설명:

interval

지정된 간격입니다. 유효한 값은 다음과 같습니다.

SQL_TSI_SECOND

SQL_TSI_MINUTE

SQL_TSI_HOUR

SQL_TSI_DAY

SQL_TSI_WEEK

SQL_TSI_MONTH

SQL_TSI_QUARTER

SQL_TSI_YEAR

integer_expression

정수를 평가하는 식이며 더할 간격 수입니다.

timestamp_expression

계산에서 기본으로 사용되는 타임스탬프입니다.

이 함수에 Null 정수 표현식이나 Null 타임스탬프 표현식이 전달되면 Null 값이 반환됩니다.

가장 단순한 시나리오의 경우 이 함수는 간격을 기반으로 하여 특정 정수 값(integer_expression)을 타임스탬프의 해당 항목에 더하기만 합니다. 1주를 더하면 7일을 더하는 것으로 해석되고, 1분기를 더하면 3개월을 더하는 것으로 해석됩니다. 음의 정수 값은 빼기, 즉 시간을 거슬러 올라가는 결과를 가져옵니다.

지정 항목의 오버플로가 발생하는 경우(예: 60초, 24시간, 12개월 초과) 그 다음 항목에 적절한 수치를 더합니다. 예를 들어, 타임스탬프의 일 항목에 더할 경우, 이 함수는 오버플로를 고려하여 특정 월의 일 수(2월에 29일까지 있는 윤년 포함)를 계산합니다.

타임스탬프의 월 항목에 더할 경우에는 결과 타임스탬프에 해당 일 항목에 대한 일 수가 충분하게 포함되는지 확인합니다. 예를 들어, 2005년 5월 31일에 한 달을 더하는 경우, 6월은 31일이 아니므로 2000년 6월 31이라는 결과가 나오지 않습니다. 이 함수는 일 항목을 월의 마지막 일로 줄입니다(이 예의 경우 2000년 6월 30일).

2월이라는 월 항목과 29(윤년의 경우 2월의 마지막 날)라는 일 항목으로 구성된 타임스탬프의 연도 항목에 더할 때 이와 유사한 문제가 발생합니다. 결과 타임스탬프가 윤년에 해당하지 않는 경우 이 함수는 일 항목을 28로 줄입니다.

다음은 TimestampAdd 함수의 예입니다.

다음은 2000년 2월 27일 14:30:00에 3일을 더할 때 결과 타임스탬프를 요청하는 코드 예제입니다. 2000년 2월은 윤년에 해당하므로 이 코드는 2000년 3월 1일 14:30:00이라는 단일 타임스탬프를 반환합니다.

TimestampAdd(SQL_TSI_DAY, 3, TIMESTAMP‘2000-02-27 14:30:00’)

다음은 1999년 7월 31일 0:0:0에 7개월을 더할 때 결과 타임스탬프를 요청하는 코드 예제입니다. 이 코드는 2000년 2월 29일 00:00:00이라는 단일 타임스탬프를 반환합니다. 2월은 짧은 달이므로 일 항목이 29로 감소한 것에 유의하십시오.

TimestampAdd(SQL_TSI_MONTH, 7, TIMESTAMP‘1999-07-31 00:00:00’)

다음은 2000년 7월 31일 23:35:00에 25분을 더할 때 결과 타임스탬프를 요청하는 코드 예제입니다. 이 코드는 2000년 8월 1일 00:00:00이라는 단일 타임스탬프를 반환합니다. 월 항목에 오버플로가 전달된 것에 유의하십시오.

TimestampAdd(SQL_TSI_MINUTE, 25, TIMESTAMP‘2000-07-31 23:35:00’)

TimeStampDiff

TimestampDiff 함수는 두 개의 타임스탬프 사이에서 지정된 간격의 총 수를 반환합니다.

구문:

TimestampDiff (interval, timestamp_expression1, timestamp_expression2)

설명:

interval

지정된 간격입니다. 유효한 값은 다음과 같습니다.

SQL_TSI_SECOND

SQL_TSI_MINUTE

SQL_TSI_HOUR

SQL_TSI_DAY

SQL_TSI_WEEK

SQL_TSI_MONTH

SQL_TSI_QUARTER

SQL_TSI_YEAR

timestamp_expression1

다른 타임스탬프에서 뺄 타임스탬프입니다.

timestamp_expression2

위의 항목에서 언급한 "다른" 타임스탬프입니다. 이 타임스탬프에서 timestamp_expression1을 빼서 차이를 계산합니다.

이 함수에 Null 타임스탬프 표현식 매개변수가 전달되면 Null 값이 반환됩니다.

먼저, 이 함수는 지정된 간격 매개변수에 해당하는 타임스탬프 항목을 확인합니다. 예를 들어, SQL_TSI_DAY는 일 항목에 해당하고 SQL_TSI_MONTH는 월 항목에 해당합니다.

그런 다음 이 함수는 두 타임스탬프의 상위 항목을 확인하여 각 타임스탬프에 대한 간격의 총 수를 계산합니다. 예를 들어, 지정된 간격이 월 항목에 해당하는 경우 이 함수는 연도 항목에 12를 곱한 후 월 항목을 더해 각 타임스탬프의 총 개월 수를 계산합니다.

마지막으로, 이 함수는 한 타임스탬프의 총 간격 수에서 다른 타임스탬프의 총 간격 수를 뺍니다.

일의 차이를 계산하는 경우 이 함수는 두 타임스탬프 표현식에서 시간 값을 추출한 다음 일자 값을 뺍니다.

주의 차이를 계산하는 경우 이 함수는 일 차이를 계산하여 7로 나눈 다음 반올림합니다.

분기의 차이를 계산하는 경우 이 함수는 월 차이를 계산하여 3으로 나눈 다음 반올림합니다.

연도의 차이를 계산하는 경우 이 함수는 월 차이를 계산하여 12로 나눈 다음 반올림합니다.

TimestampDiff 함수 및 결과 예제

다음은 1998년 7월 31일 23:35:00에서 2000년 4월 1일 14:24:00 사이의 날짜 차이를 요청하는 코드 예제입니다. 이 코드는 610을 반환하며, 2000년 윤년으로 인해 하루가 추가되어 계산되었습니다.

TimestampDIFF(SQL_TSI_DAY, TIMESTAMP‘1998-07-31 23:35:00’, TIMESTAMP‘2000-04-01 14:24:00’)

Week_Of_Quarter

분기를 기준으로 지정 날짜의 주에 해당하는 수(1 - 13)중 를 반환합니다.

구문:

WEEK_OF_QUARTER (date_expression)

설명:

date_expression

날짜를 평가하는 식입니다.

Week_Of_Year

년을 기준으로 지정 날짜의 주에 해당하는 수(1 - 53)를 반환합니다.

구문:

WEEK_OF_YEAR (date_expression)

설명:

date_expression

날짜를 평가하는 식입니다.

년식

지정 날짜의 연도를 반환합니다.

구문:

YEAR (date_expression)

설명:

date_expression

날짜를 평가하는 식입니다.

예:

YEAR (CURRENT_DATE)


2018년 8월 게시됨 Copyright © 2005, 2018, Oracle. All rights reserved. Legal Notices.