함수
Tibero에서 제공하는 내장 함수에 대해 기술합니다.
개요
Tibero에서는 다양한 내장 함수를 제공하고 있습니다. 이러한 함수 중의 일부는 SQL 표준에 정의되어 있으며, 일부는 Tibero에서 추가적으로 제공하는 것입니다. Tibero의 함수는 크게 단일 로우 함수와 집단 함수로 구 분할 수 있습니다.
일부 함수는 파라미터가 없는 것도 있지만, 대부분의 함수는 하나 이상의 파라미터를 입력으로 받는다. 또 한 모든 함수는 하나의 출력 값을 반환합니다. 각 파라미터는 데이터 타입이 정해져 있습니다. 정해진 데이터 타 입 이외의 다른 타입의 값이 입력된 경우에는 “연산식의 변환”에서 설명한 대로 데이터 타입의 변환 을 시도합니다. 데이터 타입의 변환이 불가능한 경우에는 에러를 반환합니다. 또한, 범위를 넘는 값을 컬럼에 저장할 때에도 에러를 반환합니다.
대부분의 함수는 파라미터 값으로 NULL이 입력된 경우 NULL을 반환합니다. NULL이 입력된 경우에도 NULL을 반환하지 않는 함수로는 CONCAT, NVL, REPLACE 등이 있습니다. 함수의 반환값을 컬럼에 저장할 때에는 반환값의 범위에 유의해야 합니다.
함수의 반환값이 NUMBER 타입인 경우 컬럼의 정밀도와 스케일 범위 내의 값이어야 합니다.
함수의 반환값이 CHAR 타입인 경우 컬럼의 최대 길이 범위 내의 값이어야 합니다.
함수의 반환값이 VARCHAR 타입인 경우 컬럼의 최대 길이 범위 내의 값이어야 합니다.
단일 로우 함수
단일 로우 함수는 하나의 로우로부터 컬럼 값을 파라미터로 입력 받는 함수입니다. 함수의 파라미터는 반드 시 컬럼 값만 입력받는 것은 아니고 실제 데이터를 직접 입력으로 받을 수도 있습니다. 단일 로우 함수는 SQL 문장 내의 어떤 연산식에도 포함될 수 있습니다.
집단 함수
집단 함수는 하나 이상의 로우로부터 컬럼 값을 파라미터로 입력받는 함수입니다. 함수의 파라미터는 반드 시 컬럼 값만 입력받는 것은 아니고 실제 데이터를 직접 입력으로 받을 수도 있습니다. 집단 함수는 SELECT 문의 SELECT 절, GROUP BY 절, HAVING 절에만 포함됩니다.
Tibero에서 제공하는 집단 함수에는 AVG, COUNT, MAX, MIN, SUM 등이 있습니다. 이러한 함수는 각각 파라 미터로 주어진 컬럼에 대하여 평균, 개수, 최댓값, 최솟값, 합계 등을 구합니다. 만약 파라미터로 실제 데이 터 값이 주어지면 그 값을 그대로 반환합니다.
SELECT 절
SELECT 문에서 SELECT 절의 집단 함수는 중첩될 수 있습니다. 단, 다른 위치의 집단 함수는 중첩되면 안 된 다. 또한, SELECT 절의 집단 함수도 한 번의 중첩만을 허용합니다.
따라서, 다음과 같은 집단 함수는 에러를 반환합니다.
중첩된 집단 함수의 계산은 먼저 각 그룹에 대한 안쪽의 집단 함수를 계산하고, 여기에서 반환된 모든 값 에 대하여 바깥쪽의 집단 함수를 계산합니다. 예를 들어 SUM(AVG(SAL)) 함수는 모든 그룹으로부터 SAL 컬럼 값의 평균을 구하고, 그다음 모든 평균값의 합계를 구하여 반환합니다.
집단 함수의 괄호 내에는 조건식이 아닌 임의의 연산식이 올 수 있습니다. SELECT 문에서 SELECT 절의 집단 함수는 다른 집단 함수를 포함하는 연산식이 올 수도 있습니다.
따라서, 다음과 같은 집단 함수도 유효합니다.
COUNT 함수는 괄호 안에 애스터리스크(*)가 올 수도 있습니다. 이 경우 특정 컬럼이 아닌 전체 로우의 개수를 반환합니다.
로우를 하나도 포함하지 않는 빈 테이블에 대해 집단 함수를 포함하는 SELECT 문을 실행하면, 결과 로우 가 하나도 반환되지 않습니다. 예외적으로, SELECT 절에 COUNT(*) 함수를 포함하면 0 값의 컬럼을 갖는 하나의 로우가 반환됩니다.
GROUP BY 절
집단 함수는 대개 SELECT 문 내에서 GROUP BY 절과 함께 사용합니다. 집단 함수는 GROUP BY 절에 의 하여 분리된 각 그룹에 포함된 모든 로우에 대하여 하나의 값을 반환합니다. 만약 SELECT 문에서 GROUP BY 절을 포함하지 않으면, 전체 테이블을 하나의 그룹으로 인식합니다.
다음의 SELECT 문은 GROUP BY 절을 포함한 예입니다.
위의 문장은 테이블 EMP 내의 모든 로우 중에서 같은 DEPTNO 컬럼 값을 갖는 로우의 그룹으로 분리하 고, 각 그룹에 포함된 모든 직원의 SAL 컬럼 값의 평균을 계산합니다.
HAVING절
SELECT 문에서 HAVING 절은 그룹에 대한 조건식을 포함합니다. HAVING 절은 SELECT 절이나 GROUP BY 절에 포함된 컬럼 또는 그 이외의 컬럼에 대한 집단 함수를 포함할 수 있습니다.
다음의 SELECT 문은 HAVING 절을 포함한 예입니다. 본 예제에서는 3명 이상의 직원이 소속된 부서에 대 해서만 SAL 컬럼 값의 평균을 계산합니다.
집단 함수의 파라미터 앞에는 DISTINCT 또는 ALL 예약어를 포함시킬 수 있습니다. 이러한 예약어는 중복되 는 컬럼 값에 대한 처리를 정의하며, DISTINCT는 중복을 제거하고, ALL은 중복을 허용합니다.
예를 들어 한 그룹 내의 로우가 갖고 있는 SAL 컬럼 값이 20000, 20000, 20000, 40000이라면, AVG(DISTINCT SAL) 함수의 결과는 30000이며, AVG(ALL SAL) 함수의 결과는 25000입니다. 만약 아무 것도 지정하지 않으면 디폴트는 ALL입니다.
다음의 표는 Tibero에서 제공하는 집단 함수 목록입니다.
AVG
그룹 내의 모든 로우에 대한 expr 값의 평균을 구하는 함수
CORR
파라미터로 주어진 expr1가 expr2의 상관계수를 계산하는 함수
COUNT
쿼리가 반환하는 로우의 개수를 세는 함수
COVAR_POP
expr1, expr2의 모공분산을 계산하는 함
COVAR_SAMP
expr1, expr2의 표본공분산을 계산하는 함수수
DENSE_RANK
각 그룹별로 로우를 정렬한 다음 그룹 내의 각 로우에 대한 순위를 반환하는 함수
FIRST
정렬된 로우에서 처음에 해당하는 로우를 뽑아내어 명시된 집단함수를 적용 한 결과를 반환
LAST
정렬된 로우에서 마지막에 해당하는 로우를 뽑아내어 명시된 집단함수를 적 용한 결과를 반환
MAX
그룹 내의 모든 로우에 대한 expr 값 중의 최댓값을 구하는 함수
MIN
그룹 내의 모든 로우에 대한 expr 값 중의 최솟값을 구하는 함수
PERCENT_RANK
파라미터로 주어진 값의 그룹 내의 위치를 나타내 주는 함수
PERCENTILE_CONT
연속 분포 모델에서 파라미터로 주어진 백분위 값에 해당하는 값을 계산하는 역 분포 함수
PERCENTILE_DISC
이산 분포를 가정한 역분산 함수로 분석 함수로도 사용할 수 있
RANK
그룹별로 로우를 정렬한 후 그룹 내의 각 로우의 순위를 반환하는 함수
REGR_SLOPE REGR_INTERCEPT REGR_COUNT REGR_R2 REGR_AVGX REGR_AVGY REGR_SXX REGR_SYY REGR_SXY
임의의 수치 데이터 쌍의 집합에 가장 맞는 선형 방정식을 구하기 위해 사용
STATS_MODE
expr의 최빈값을 반환하는 함수
STDDEV
expr의 표본 표준편차를 반환하는 함수
STDDEV_POP
expr의 모표 표준편차를 반환하는 함수
STDDEV_SAMP
expr의 누적 표본 표준편차를 반환하는 함수
SUM
그룹 내의 모든 로우에 대한 expr 값의 합계를 구하는 함수
VARIANCE
expr의 분산을 반환
VAR_POP
expr의 모분산을 반환
VAR_SAMP
expr의 표본분산을 반환하는 함수
XMLAGG
XML 조각을 받고, 이를 한데 모아 XML 문서로 만들어 반환하는 함수
분석 함수
분석 함수는 집단 함수와 마찬가지로 특정 로우 그룹에 대한 집계 값을 구하는 데 사용됩니다.
집단 함수와 다른 점은 하나의 로우 그룹에 속한 모든 로우가 하나의 집계 값을 공유하지 않습니다는 것이 다. 각각의 로우에 대해 로우 그룹이 별개로 정의되며, 때문에 모든 로우가 별개로 각각 자신의 로우 그룹 에 대한 집계 값을 갖게 됩니다. 이 로우 그룹을 분석 함수에서는 윈도우라고 부르며, analytic_clause 안에 정의됩니다. 윈도우 영역은 물리적인 로우의 개수로 정의될 수도 있고, 논리적인 어떤 계산 값을 통해서 정 의될 수도 있습니다.
하나의 쿼리 블록 안에서 분석 함수는 ORDER BY 절을 제외하고 가장 마지막에 수행되는 연산입니다. WHERE 절, GROUP BY 절, HAVING 절 모두 분석 함수가 수행되기 전에 먼저 적용됩니다. 그러므로 분석 함수는 SELECT 절 또는 ORDER BY 절에만 나올 수 있습니다.
analytic_function
분석 함수는 크게 analytic_function, argument, analytic_clause로 구성됩니다.
analytic_function의 세부 내용은 다음과 같습니다.
문법

구성요소
analytic_function
분석 함수의 이름을 명시
argument
분석 함수의 파라미터를 명시
함수에 따라 파라미터의 타입이 결정됨
OVER analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있습니다.
analytic_clause
OVER analytic_clause를 사용하여 함수를 분석 함수로 수행할 수 있습니다. 분석 함수는 ORDER BY 절을 제외한 다른 모든 절의 내용이 처리된 다음에 적용됩니다. 그러므로 분석 함수가 계산한 결과의 일부만 선택하 고자 하면, 분석 함수를 수행한 쿼리를 뷰로 둘러싸고, 그 쿼리를 둘러싼 뷰에 WHERE 절을 적용하면 된 다. analytic_clause 안에 분석 함수를 사용할 수는 없습니다. 그러나 부질의 내에 분석 함수를 사용하는 것은 가능합니다.
analytic_clause의 세부 내용은 다음과 같습니다.
문법

구성요소
partition_by
분석 함수를 계산하기 전에 현재 질의 블록의 결과 집합을 분할합니다.
order_by_clause
partition_by에 의해 분할된 하나의 파티션 내에서 로우를 어떻게 정렬할지를 명시
window_clause
window_clause를 가질 수 있는 경우가 있음
분석 함수의 order_by_clause를 명시할 경우에만 이 window_clause를 명시할 수 있음음
partition_by
분석 함수를 계산하기 전에 현재 질의 블록의 결과 집합을 expr 또는 expr의 리스트를 기준으로 분할합니다. 이 절을 명시하지 않으면, 분석 함수의 윈도우는 전체 로우 집합 내에서 움직이게 됩니다.
하나의 질의 블록의 SELECT 절 또는 ORDER BY 절에 여러 개의 분석 함수를 명시할 수 있으며, 각각이 서로 다른 PARTITION BY 키를 갖는 것도 가능합니다.
partition_by의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr이 취할 수 있는 값은 상수, 컬럼, 분석 함수가 아닌 함수로 구성된 연산식
order_by_clause
partition_by에 의해 분할된 하나의 파티션 내에서 로우를 어떻게 정렬할지를 명시합니다. 정렬에 사용되는 키 값은 여러 개를 명시할 수 있습니다.
분석 함수에서 사용되는 order_by_clause 내에서는 위치 상수(ORDER BY 1과 같은)를 사용할 수 없습니다. SIBLINGS 역시 사용할 수 없습니다. SELECT 리스트 컬럼의 별칭도 사용할 수 없습니다. 그 이외에는 보통의 ORDER BY 절과 사용 방식이 같습니다.
분석 함수에 사용된 order_by_clause는 파티션 내의 로우의 순서를 결정할 뿐이지 분석 함수를 적용하고 난 쿼리 블록의 최종 결과 집합의 로우의 순서를 결정해 주는 것은 아니다. 이를 위해서는 쿼리 블록을 위 한 별도의 ORDER BY 절을 추가로 명시해야만 합니다.
order_by_clause의 세부 내용은 다음과 같습니다.
문법

구성요소
SIBLINGS
order_by_clause는 계층 질의의 형제 노드 내에서 정렬 순서를 정의
분석 함수에서는 사용할 수 없음
expr
정렬의 키로 사용되는 연산식
position
select_list에 명시된 expr의 위치를 지정
분석 함수에서는 사용할 수 없음
ASC
디폴트로, 정렬 순서를 명시
ASC는 오름차순으로 정렬
DESC
정렬 순서를 명시
DESC는 내림차순으로 정렬
NULLS FIRST
NULL 값의 정렬 순서를 명시
NULLS FIRST는 오름차순 정렬의 디폴트로 사용됨
NULLS LAST
NULL 값의 정렬 순서를 명시
NULLS LAST는 내림차순 정렬의 디폴트로 사용됨
window_clause
분석 함수에 따라 window_clause를 가질 수 있는 경우가 있습니다. 분석 함수의 order_by_clause를 명시할 경 우에만 window_clause를 명시할 수 있습니다. window_clause를 명시하지 않았을 때는 필요한 경우에 디폴트 윈도우로 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW가 지정됩니다.
window_clause의 세부 내용은 다음과 같습니다.
문법

구성요소
ROWS
윈도우 타입을 ROW로 지정하면, 분석 함수는 현재 로우가 정의하는 물리적인 로우 단위로 윈도우를 계산
order_by_clause를 기준으로 동률이 생겼을 때, 상위한 로우만 결과로 반환됨
RANGE
윈도우 타입을 RANGE로 지정하면, 현재 로우를 기준으로 논리적 오프셋을 기준으로 윈도우를 정
ROW와는 달리, RANGE는 항상 같은 로우가 반환
order_by_clause에서 하나의 정렬 키만 명시 가능.동일한 정렬 결과가 나오는 두 로우의 분석 함수 결과는 항상 같음
예: SUM 함수에서 같은 값을 반환
BETWEEN ... AND
윈도우의 시작점과 끝점을 명시할 때
BETWEEN이후는 시작점,AND이후는 끝점. 하나만 명시하면, 현재 로우가 끝점이 되며 그 시점이 시작점
다음의 표는 Tibero에서 제공하는 분석 함수와 함수별 window_clause의 명시 가능 여부를 나타냅니다.
AVG
예
CORR
예
COUNT
예
COVAR_POP
예
COVAR_SAMP
예
DENSE_RANK
아니오
FIRST
아니오
분석 함수
window_clause 명시 가능 여부
FIRST_VALUE
예
LAG
아니오
LAST
아니오
LAST_VALUE
예
LEAD
아니오
MAX
예
MIN
예
NTILE
아니오
PERCENT_RANK
아니오
PERCENTILE_CONT
아니오
PERCENTILE_DISC
아니오
RANK
아니오
RATIO_TO_REPORT
아니오
REGR_SLOPE REGR_INTERCEPT REGR_COUNT REGR_R2 REGR_AVGX REGR_AVGY REGR_SXX REGR_SYY REGR_SXY
예
ROW_NUMBER
아니오
STDDEV
예
STDDEV_POP
예
STDDEV_SAMP
예
SUM
예
VARIANCE
예
VAR_POP
예
VAR_SAMP
예
window_value
window_value의 세부 내용은 다음과 같습니다.
문법

구성요소
UNBOUNDED PRECEDING
시작점을 명시할 때 사용하며, 파티션의 첫 번째 로우를 지정
끝점으로 사용할 수는 없습니다.
UNBOUNDED FOLLOWING
끝점을 명시할 때 사용하며, 파티션의 맨 마지막 로우를 지
시작점으로 사용할 수는 없음
CURRENT ROW
시작점 또는 끝점으로 사용할 수 있음
ROW 또는 RANGE를 명시했을 경우 현재 로우 또는 현재 로우에서 계산된 값을 의미
시작점으로 명시했을 때는 끝점으로 expr PRECEDING을 사용할 수 없으며, 끝점으로 명시했을 경우는 시작점으로 expr FOLLOWING을 사용할 수 없음
expr PRECEDING
expr PRECEDING을 끝점에 명시했으면, 시작점은 항상 expr PRECEDING이 되어야 함
expr FOLLOWING
expr FOLLOWING을 시작점에 명시했으면, 끝점은 항상 expr FOLLOWING이 되어야 함함
윈도우 타입별로 expr은 다음과 같이 달라집니다.
윈도우 타입이 ROW일 경우에는 다음과 같습니다.
expr은 물리적인 오프셋을 지정합니다. 이것은 양수이거나 양수로 계산되는 연산식입니다.
시작점의 로우는 끝점의 로우보다 먼저 나와야 합니다.
윈도우 타입이 RANGE일 경우에는 다음과 같습니다.
expr은 논리적인 오프셋을 지정합니다. 이것은 0 또는 양수로 계산되는 연산식 또는 간격 리터럴입니다. 간격 리터럴에 대해서는 “리터럴”을 참고합니다.
expr에 수치 값을 사용할 수 있는 경우는 order_by_clause의 expr의 데이터 타입이 NUMBER 또는 DATE 타입일 때입니다.
expr에 간격 값을 사용할 수 있는 경우는 order_by_clause의 expr의 데이터 타입이 DATE 타입일 때입니다.
함수 목록
본 절에서는 Tibero에서 제공하는 내장 함수에 대해 설명합니다.
ABS
ABS는 주어진 파라미터 값의 절댓값(Absolute Value)을 구하는 함수입니다.
ABS의 세부 내용은 다음과 같습니다.
문법

구성요소
num
임의의 수치값을 반환하는 연산식
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
예제
다음은 ABS 함수를 사용하는 예입니다.
ACOS
ACOS는 num의 아크 코사인 값을 구하는 함수입니다.
ACOS의 세부 내용은 다음과 같습니다.
문법

구성요소
num
-1 ~ 1 사이의 값을 가져야
반환값은 0 ~ pi 사이의 라디안(Radian)값입니다.
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
만약 num의 타입이 BINARY_FLOAT일 경우엔 BINARY_DOUBLE 타입을 반환하고, 그렇지 않은 경우엔 num과 동일한 숫자형 타입을 반환
예제
다음은 ACOS 함수를 사용하는 예입니다.
ADD_MONTHS
ADD_MONTHS는 date에 integer만큼의 달을 더한 결과를 구하는 함수입니다.
ADD_MONTHS의 세부 내용은 다음과 같습니다.
문법

구성요소
date
date는 DATE 값을 반환하는 임의의 연산식
integer
integer는 정수 값을 저장하는 데이터 타입
예제
다음은 ADD_MONTHS 함수를 사용하는 예입니다.
AGGR_CONCAT
AGGR_CONCAT는 그룹 내의 모든 로우에 대해 문자열과 구분자를 접합하여 하나의 문자열로 만들어 반환하는 함수입니다. NULL 값을 반환하는 파라미터는 결과로부터 제외됩니다.
AGGR_CONCAT의 세부 내용은 다음과 같습니다.
문법

구성요소
set_quantifier
질의 결과에 중복된 로우의 허용, 비허용 여부를 지정 DISTINCT, UNIQUE, ALL을 지정할 수 있음
DISTINCT, UNIQUE : 중복된 로우를 제거
ALL : 모든 로우를 선택 (기본값)
expr
문자열이나 문자열로 변환될 수 있는 임의의 연산식
separator
expr과 접합될 구분자를 나타내는 문자 리터럴
order_by_clause
접합할 문자열을 어떻게 정렬할지를 명시
자세한 내용은 “분석 함수”의 order_by_clause를 참고
예제
다음은 AGGR_CONCAT 함수를 사용하는 예입니다.
APPENDCHILDXML
APPENDCHILDXML은 XPath expression으로 지정된 노드에 사용자가 입력한 XML 값을 이어붙이는 함수입니다. 이미 존재하고 있는 노드들의 뒤부터 삽입됩니다.
APPENDCHILDXML의 세부 내용은 다음과 같습니다.
문법

구성요소
XMLType_instance
XML 타입 객체를 반환하는 임의의 연산식
XPath_string
하나 이상의 자식 노드가 삽입될 위치를 나타내는 XPath 연산식
value_expr
삽입될 하나 이상의 자식 노드를 나타내는 임의의 연산식
이 연산식은 반드시 문자열로 변환 가능해야 함
namespace_string
XPath의 네임스페이스 정보를 나타냄
반드시 VARCHAR 타입이어야 함함
예제
다음은 APPENDCHILDXML 함수를 사용하는 예입니다.
ASCII
ASCII는 char의 첫 번째 문자에 대해서 데이터베이스 문자 집합에서의 십진수 표시 값을 반환하는 함수입니다. 만일 현재 데이터베이스의 문자 집합이 7bits ASCII라고 합니다면, 이 함수는 ASCII 값을 반환합니다.
ASCII의 세부 내용은 다음과 같습니다.
문법

구성요소
char
char는 다음 타입 중 하나
CHAR
VARCAHR
NCHAR
NVARCHAR
char는 CLOB 타입일 수는 없지만 타입의 변환 함수를 통해 ASCII 함수를 호출 할 수 있음
예제
다음은 ASCII 함수를 사용하는 예입니다.
ASCIISTR
ASCIISTR은 주어진 문자열을 데이터베이스 문자 집합의 아스키 문자열로 반환합니다.
ASCII 이외의 문자 는 \xxxx 형태로 변경됩니다. xxxx는 UTF-16 코드입니다.
ASCIISTR의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
예제
다음은 ASCII 함수를 사용하는 예입니다. 데이터베이스 문자 집합은 'MSWIN949' 입니다.
ASIN
ASIN는 num의 아크 사인 값을 구하는 함수입니다.
ASIN의 세부 내용은 다음과 같습니다.
문법

구성요소
num
-1 ~ 1 사이의 값을 가져야 함
반환값은 -pi/2 ~ pi/2 사이의 라디안 값
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
만약 num의 타입이 BINARY_FLOAT일 경우엔 BINARY_DOUBLE 타입을 반환하고, 그렇지 않은 경우엔 num과 동일한 숫자형 타입을 반환
예제
다음은 ASIN 함수를 사용하는 예입니다.
ATAN
ATAN은 num의 아크 탄젠트 값을 구하는 함수입니다.
ATAN의 세부 내용은 다음과 같습니다.
문법

구성요소
num
num의 값은 제한이 없으며 반환값은 -pi/2 ~ pi/2 사이의 라디안 값
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
만약 num의 타입이 BINARY_FLOAT일 경우엔 BINARY_DOUBLE 타입을 반환하고, 그렇지 않은 경우엔 num과 동일한 숫자형 타입을 반환
예제
다음은 ATAN 함수를 사용하는 예입니다.
ATAN2
ATAN2는 아크 탄젠트 값을 구하는 함수입니다. n과 m의 아크 탄젠트 값을 구합니다.
ATAN2(num1, num2)은 ATAN(num1/num2)과 같습니다.
ATAN2의 세부 내용은 다음과 같습니다.
문법

구성요소
num1, num2
num1, num2의 값은 제한이 없으며 반환값은 -pi/2 ~ pi/2 사이의 라디안 값
num1, num2는 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
num1이나 num2의 타입이 BINARY_FLOAT이나 BINARY_DOUBLE일 경우엔 BINA RY_DOUBLE 타입을 반환하고, 그렇지 않은 경우엔 NUMBER 타입을 반환
예제
다음은 ATAN2 함수를 사용하는 예입니다.
AVG
AVG는 그룹 내의 모든 로우에 대한 expr 값의 평균을 구하는 함수입니다.
AVG의 세부 내용은 다음과 같습니다.
문법

구성요소
analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용은 “분석 함수”의 analytic_clause를 참고
expr
expr은 임의의 연산식이며, “연산식”에서 이미 정의하였음
ALL
ALL은 기본값
expr 값 중에서 중복되는 값을 제거하지 않고, 모든 값의 평균을 구함
DISTINCT
expr 앞에 DISTINCT 예약어를 포함시키면, 평균을 구하기 전에 expr 값 중에서 중복되는 값을 제거
DISTINCT를 명시할 경우는 analytic_clause에서 query_partition_clause만 명시할 수 있음
order_by_clause는 명시할 수 없음
order_by_clause를 명시할 수 없으므로 window_clause 또한 명시할 수 없음
UNIQUE
UNIQUE는 DISTINCT와 동일
예제
다음은 AVG 함수를 사용하는 예입니다.
분석 함수 예제
다음은 AVG 함수를 분석 함수로 사용하는 예입니다.
BIN_TO_NUM
BIN_TO_NUM는 bit vector를 해당 정수 값으로 변환해주는 함수입니다.
BIN_TO_NUM의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr는 숫자형 타입이나 숫자형 타입으로 변환될 수 있는 값을 반환하는 임의의 연산식
expr의 반환 값이 숫자형 타입이 아니면 숫자형 타입으로 변환 후 정수 값으로 변환해서 사용(trunc() 결과와 같음)
변환 후의 정수 값은 0 또는 1 이어야 함함
예제
다음은 BIN_TO_NUM 함수를 사용하는 예입니다.
BITAND
BITAND는 expr1과 expr2의 각 비트를 AND 연산한 결과를 구하는 함수입니다.
BITAND의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1, expr2
expr1과 expr2는 정수 값을 반환하는 임의의 연산식
예제
다음은 BITAND 함수를 사용하는 예입니다.
CAST
CAST는 하나의 데이터 타입에서 다른 데이터 타입으로 변경하는 함수입니다.
CAST의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr은 임의의 데이터 타입을 반환하는 임의의 연산식
typename
typename은 변환할 데이터 타입의 이름을 명시
예제
다음은 CAST 함수를 사용하는 예입니다.
CEIL
CEIL은 주어진 파라미터의 값보다 크거나 같은 가장 작은 정수를 구하는 함수입니다.
CEIL의 세부 내용은 다음과 같습니다.
문법

구성요소
num
수치 값을 반환하는 임의의 연산식
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 하고, num 과 동일한 숫자형 타입을 반환
예제
다음은 CEIL 함수를 사용하는 예입니다.
CHARTOROWID
CHARTOROWID는 CHAR, VARCHAR, NCHAR, NVARCHAR 형식의 값을 ROWID 형식으로 변환하는함수입니다.
CHARTOROWID의 세부 내용은 다음과 같습니다.
문법

구성요소
str
ROWID 형식으로 변환할 임의의 값
예제
다음은 CHARTOROWID 함수를 사용하는 예입니다.
CHR
CHR은 num에 대응하는 문자를 구하는 함수입니다.
CHR의 세부 내용은 다음과 같습니다.
문법

구성요소
num
num은 수치 값을 반환하는 임의의 연산식
예제
다음은 CHR 함수를 사용하는 예입니다.
COALESCE
COALESCE는 NULL이 아닌 첫 파라미터를 반환하는 함수입니다. 모든 파라미터가 NULL 값을 갖습니다면NULL을 반환합니다.
COALESCE의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr은 다른 expr과 서로 동일하거나 호환할 수 있는 타입의 임의의 연산식
예제
다음은 COALESCE 함수를 사용하는 예입니다.
COMPOSE
COMPOSE는 입력받은 문자열을 NFC 정규 형태의 유니코드 문자열로 변환하는 함수입니다.
COMPOSE의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
예제
다음은 COMPOSE 함수를 사용하는 예입니다.
CONCAT
CONCAT은 두 개의 문자열을 접합하여 하나의 문자열을 반환하는 함수입니다. 접합 연산자(||)를 사용했을 때와 같은 결과를 얻는다. 두 파라미터 중에서 하나가 NULL이더라도 NULL을 반환하지는 않습니다.
CONCAT의 세부 내용은 다음과 같습니다.
문법

구성요소
str1, str2
str1과 str2는 문자열을 반환하는 임의의 연산식
예제
다음은 CONCAT 함수를 사용하는 예입니다.
CONVERT
CONVERT은 주어진 문자열을 다른 문자집합의 문자열로 변환합니다. 대응하는 문자가 없습니다면 '?'로 대체됩니니다.
CONVERT의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
dest_char_set
변환하려는 문자 집합명을 명시
데이터베이스 문자 집합명을 사용할 수 있음
그 외에 ISO2022-KR, US8ICL 문자집합을 사용할 수 있음
source_char_set
str의 문자 집합명을 명시
명시하지 않으면 데이터베이스 문자 집합명이 기본값으로 사용
예제
다음은 CONVERT 함수를 사용하는 예입니다.
CORR
CORR은 파라미터로 주어진 expr1가 expr2의 상관계수를 계산하는 함수입니다. 분석 함수로도 사용할 수 있습니다. 이 함수는 모든 수치 데이터 타입과 수치 데이터 타입은 아니지만 묵시적으로 수치 데이터 타입으로 변환할 수 있는 데이터 타입을 파라미터로 받아 들인다. 입력된 파라미터의 수치 데이터 타입 또는 변환된 수치 데이터 타입을 반환합니다.
Tibero에서는 다음의 공식을 사용해 상관계수를 계산합니다.
CORR의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1, expr2
expr1과 expr2는 수치 데이터 타입의 값을 반환하는 임의의 연산식
OVER analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용은 “분석 함수”의 analytic_clause를 참고
예제
다음은 CORR 함수를 사용하는 예입니다.
분석 함수 예제
다음은 CORR 함수를 분석 함수로 사용하는 예입니다.
COS
COS는 주어진 파라미터 값의 코사인(Cosine)값을 구하는 함수입니다.
COS의 세부 내용은 다음과 같습니다.
문법

구성요소
num
실수 값을 반환하는 임의의 연산식 (단위: 라디안)
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
만약 num의 타입이 BINARY_FLOAT일 경우엔 BINARY_DOUBLE 타입을 반환하고, 그렇지 않은 경우엔 num과 동일한 타입을 반환
예제
다음은 COS 함수를 사용하는 예입니다.
COSH
COSH는 주어진 파라미터 값의 하이퍼볼릭 코사인(Hyperbolic Cosine) 값을 구하는 함수입니다.
COSH의 세부 내용은 다음과 같습니다.
문법

구성요소
num
실수 값을 반환하는 임의의 연산식 (단위: 라디안)
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
만약 num의 타입이 BINARY_FLOAT일 경우엔 BINARY_DOUBLE 타입을 반환하 고, 그렇지 않은 경우엔 num과 동일한 타입을 반환
예제
다음은 COSH 함수를 사용하는 예입니다.
COUNT
COUNT는 쿼리가 반환하는 로우의 개수를 세는 함수입니다. 분석 함수로도 사용할 수 있습니다.
COUNT 함수 는 항상 숫자를 반환하고 NULL을 반환하는 경우는 없습니다.
COUNT의 세부 내용은 다음과 같습니다.
문법

구성요소
set_quantifier
질의 결과에 중복된 로우의 허용, 비허용 여부를 지정
DISTINCT, UNIQUE, ALL을 지정할 수 있음
DISTINCT, UNIQUE : 중복된 로우를 제거
ALL : 모든 로우를 선택 (기본값)
*
애스터리스크(*)를 명시하면 중복된 로우와 그리고 NULL 값을 포함한 모든 로우를 개수에 포함시킴
expr
expr을 명시할 경우는, COUNT 함수는 expr의 값이 NULL이 아닐 경우에만 로우를 개수에 포함시킴
DISTINCT를 명시함으로써 expr의 값을 구했을 때 중복을 제거한 로우만 셀 수 있음
analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용은 “분석 함수”의 analytic_clause를 참고
예제
다음은 COUNT 함수를 사용하는 예입니다.
분석 함수 예제
다음은 COUNT 함수를 분석 함수로 사용하는 예입니다.
COVAR_POP
COVAR_POP는 expr1, expr2의 모공분산을 계산하는 함수입니다. 분석 함수로도 사용할 수 있습니다.
이 함수는 모든 수치 데이터 타입과 수치 데이터 타입은 아니지만 묵시적으로 수치 데이터 타입으로 변환 할 수 있는 데이터 타입을 파라미터로 받아 들인다. NUMBER 타입을 반환합니다.
Tibero에서는 다음의 공식을 사용해 모공분산을 계산합니다.
여기서 n은 expr1과 expr2 둘 모두가 NULL이 아닌 로우의 개수입니다.
COVAR_POP의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1, expr2
expr1과 expr2는 수치 데이터 타입의 값을 반환하는 임의의 연산식
OVER analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용은 “분석 함수”의 analytic_clause를 참고
예제
다음은 COVAR_POP 함수를 사용하는 예입니다.
분석 함수 예제
다음은 COVAR_POP 함수를 분석 함수로 사용하는 예입니다.
COVAR_SAMP
COVAR_SAMP는 expr1, expr2의 표본공분산을 계산하는 함수입니다. 분석 함수로도 사용할 수 있습니다.
이 함수는 모든 수치 데이터 타입과 수치 데이터 타입은 아니지만 묵시적으로 수치 데이터 타입으로 변환 할 수 있는 데이터 타입을 파라미터로 받아 들인다. NUMBER 타입을 반환합니다.
Tibero에서는 다음의 공식을 사용해 표본공분산을 계산합니다.
여기서 n은 expr1, expr2 모두 NULL이 아닌 로우의 개수입니다.
COVAR_SAMP의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1, expr2
expr1과 expr2는 수치 데이터 타입의 값을 반환하는 임의의 연산식
OVER analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용은 “분석 함수”의 analytic_clause를 참고합니다.
예제
다음은 COVAR_SAMP 함수를 사용하는 예입니다.
분석 함수 예제
다음은 COVAR_SAMP 함수를 분석 함수로 사용하는 예입니다.
CUME_DIST
CUME_DIST는 그룹 내의 누적 분포를 계산하는 함수입니다. 반환값은 NUMBER 타입이며 0 보다 크고 1보다 작거나 같은 값을 가진다.
누적 분포를 계산하는 방법은 그룹의 로우를 정렬 스펙으로 정렬한 뒤 파라미터로 주어진 값을 갖는 가상 의 로우를 삽입한 위치를 계산하여 그룹의 로우 개수로 나누는 것입니다.
CUME_DIST의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr은 한 그룹 안에서는 상수 값이어야 하며, order_by_clasuse의 표현식과 대응되어야 함
order_by_clause
분할된 하나의 파티션 내에서 로우를 어떻게 정렬할지를 명시
자세한 내용은 “분석 함수”의 order_by_clause를 참고
예제
다음은 CUME_DIST 함수를 사용하는 예입니다.
CURRENT_DATE
CURRENT_DATE는 현재 세션의 시간대를 기준으로 현재 날짜를 그레고리력으로 출력하는 함수입니다.
CURRENT_DATE의 세부 내용은 다음과 같습니다.
문법

예제
다음은 CURRENT_DATE 함수를 사용하는 예입니다.
CURRENT_TIME
CURRENT_TIME은 현재 세션의 시간대를 기준으로 현재 시간을 출력하는 함수입니다.
CURRENT_TIME의 세부 내용은 다음과 같습니다.
문법

예제
다음은 CURRENT_TIME 함수를 사용하는 예입니다.
CURRENT_TIMESTAMP
CURRENT_TIMESTAMP는 현재 세션의 시간대를 기준으로 현재 날짜 및 시간을 출력하는 함수입니다. 이 함수의 반환값은 TIMESTAMP WITH TIME ZONE 타입입니다.
CURRENT_TIMESTAMP의 세부 내용은 다음과 같습니다.
문법

예제
다음은 CURRENT_TIMESTAMP 함수를 사용하는 예입니다.
DBTIMEZONE
DBTIMEZONE는 데이터베이스의 시간대 정보를 오프셋([+|-]TZH:TZM) 형식이나 지역 이름(TZR) 형식으 로 반환하는 함수입니다.
DBTIMEZONE의 세부 내용은 다음과 같습니다.
문법

예제
다음은 DB TIMEZONE이 +00:00으로 설정된 경우 DBTIMEZONE 함수를 사용하는 예입니다.
DECODE
DECODE는 각 search를 비교하여, 같은 값을 가지는 search에 대응하는 result 값을 구하는 함수입니다. 수 치, 문자 데이터 타입 모두 파라미터로 사용할 수 있습니다. expr, search, result 그리고 default를 합해서 최대 255까지의 표현식을 사용할 수 있습니다.
DECODE의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
search와 데이터 타입이 동일하거나 암묵적 변환을 통해 동일한 타입으로 변환이 가능해야 함
search
expr에 대응되는 조건값모든
search의 타입은 첫 번째search의 타입과 동일하거나 데이터 타입의 암묵적 변환이 가능해야 함
result
search와 일치하는 경우 반환할 값모든
result의 타입은 첫 번째result의 타입과 동일하거나 데이터 타입의 암묵적 변환이 가능해야 함
default
같은 값을 갖는
search가 없을 때default에 명시된 값을 반환default의 값이 명시되지 않은 경우NULL을 반환default의 타입은 첫 번째result의 타입과 동일하거나 데이터 타입의 암묵적 변환이 가능해야 함
예제
다음은 DECODE 함수를 사용하는 예입니다.
DECOMPOSE
DECOMPOSE는 입력받은 유니코드 문자열을 분해(decomposition)한 문자열을 반환하는 함수입니다.
DECOMPOSE의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
CANONICAL
COMPOSE 함수를 통해 원본 문자열을 복원할 수 있는 정규 분해를 함
COMPATIBILITY
호환 모드를 분해합니다. 이 모드에서는 COMPOSE 함수를 통해 복원할 수 없음
예제
다음은 DECOMPOSE 함수를 사용하는 예입니다. (결과는 사용자의 문자 집합(Character set)에 따라 달라질 수 있음)
DELETEXML
DELETEXML은 XPath expression으로 지정된 노드를 XML에서 제거하는 함수입니다.
DELETEXML의 세부 내용은 다음과 같습니다.
문법

구성요소
xmltype_instance
XMLType instance
xpath_string
Xpath expression으로 지우려는 XML Element의 위치를 나타냄
namespace_string
XPath_string의 네임스페이스 정보를 나타냄
VARCHAR 타입이어야 함
예제
다음은 DELETEXML 함수를 사용하는 예입니다.
DENSE_RANK
DENSE_RANK는 각 그룹별로 로우를 정렬한 다음 그룹 내의 각 로우에 대한 순위를 반환하는 함수입니다. 분석 함수로도 사용할 수 있습니다.
반환된 순위는 다음과 같은 특징이 있습니다.
데이터 타입은 NUMBER입니다.
1부터 시작하는 연속적인 정수 값입니다.
최댓값은 중복되는 값을 하나로 계산했을 때 전체 로우의 개수가 됩니다.
중복된 값이 나타났을 때 다음 순위의 값은 건너뛰지 않고 1이 증가한 값이 부여됩니다. 중복된 값은 모두 같은 순위의 값이 부여됩니다.
계산 방법은 다음과 같이 함수에 따라 달라진다.
집계 함수
파라미터 값으로 구성된 가상의 로우에 대한 순위 값을 계산
파라미터는 각 그룹마다 상수 값을 가져야 하며 order_by_clause의 표현식과 대응되어야 함
분석 함수
각 로우의 그룹 내 순위를 반환
순위는 order_by_clause 내의 expr 값을 기준으로 정렬한 결과가 부여됨
DENSE_RANK의 세부 내용은 다음과 같습니다.
문법

구성요소
– dense_rank_aggregation
expr
임의의 연산식
order_by_clause
분할된 하나의 파티션 내에서 로우를 어떻게 정렬할지를 명시
자세한 내용은 “분석 함수”의 order_by_clause를 참고
– dense_rank_analytic
partition_by
현재 질의 블록의 결과 집합을 expr 또는 expr의 리스트를 기준으로 분할
자세한 내용은 “분석 함수”의 partition_by를 참고
order_by_clause
분할된 하나의 파티션 내에서 로우를 어떻게 정렬할지를 명시
자세한 내용은 “분석 함수”의 order_by_clause를 참고
예제
다음은 DENSE_RANK 함수를 사용하는 예입니다.
분석 함수 예제
다음은 DENSE_RANK 함수를 분석 함수로 사용하는 예입니다.
DUMP
DUMP는 함수는 파라미터로 주어진 expr의 내부의 표현 정보를 반환하는 함수입니다. 반환되는 값은 바이 트 스트림과 길이 정보이며 VARCHAR2 타입입니다. 단, LONG, CLOB, BLOB 타입에는 이 함수를 적용할 수 없습니다.
DUMP의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
임의의 연산식
fmt
바이트 스트림의 형식을 지정
fmt는 다음의 값을 가질 수 있음
8 : 8진법 표현
10 : 10진법 표현(기본값)
16 : 16진법 표현
17 : 문자 표현
offset
시작 오프셋을 나타냄
len
표시할 byte의 길이를 지정
expr의 값이 NULL이면 NULL을 출력
예제
다음은 DUMP 함수를 사용하는 예입니다.
EMPTY_BLOB
EMPTY_BLOB은 BLOB 타입의 컬럼을 초기화하기 위해 빈 LOB Locator를 반환하는 함수입니다.
EMPTY_BLOB의 세부 내용은 다음과 같습니다.
문법

예제
다음은 EMPTY_BLOB 함수를 사용하는 예입니다.
EMPTY_CLOB
EMPTY_CLOB은 CLOB 타입의 컬럼을 초기화하기 위해 비어 있는 LOB Locator를 반환하는 함수입니다.
EMPTY_CLOB의 세부 내용은 다음과 같습니다.
문법

예제
다음은 EMPTY_CLOB 함수를 사용하는 예입니다.
EXISTSNODE
EXISTSNODE는 XML 문서에서 질의한 XPath에 해당 노드가 있는지 검사하는 함수입니다. 반환되는 값은
NUMBER 타입이며, 해당 노드가 있으면 1을 없으면 0을 반환합니다.
EXISTSNODE의 세부 내용은 다음과 같습니다.
문법

구성요소
xml
질의의 대상이 되는 XML 문서로, XML 타입
xpath_str
질의할 XPath 문자열로, 최대 길이는 4000자
namespace_str
XML 문서에서 네임스페이스가 필요할 때 사용하는 옵션으로 VARCHAR 타입
예제
다음은 EXISTSNODE 함수를 사용하는 예입니다.
EXP
EXP는 자연 로그(Natural Log)의 밑(Base) e(= 2.7182818284…)의 주어진 파라미터의 제곱 값을 구하는 함수입니다.
EXP의 세부 내용은 다음과 같습니다.
문법

구성요소
num
수치 값을 반환하는 임의의 연산식
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
만약 num의 타입이 BINARY_FLOAT일 경우엔 BINARY_DOUBLE 타입을 반환하 고, 그렇지 않은 경우엔 num과 동일한 타입을 반환
예제
다음은 EXP 함수를 사용하는 예입니다.
EXTRACT
EXTRACT는 일시(날짜형) 또는 시간 간격(Interval) 값에서 특정 부분의 값을 추출하고 싶을 때 사용하는 함수입니다. 반환되는 값은 그레고리력을 따른다. 값을 추출할 때는 추출할 값이 원래의 연산식에 존재해야 만 합니다.
EXTRACT의 세부 내용은 다음과 같습니다.
문법

구성요소
YEAR
연도를 저장하는 날짜형 데이터 타입
MONTH
달을 저장하는 날짜형 데이터 타입
DAY
날짜를 저장하는 데이터 타입
HOUR
시를 저장하는 데이터 타입
MINUTE
분을 저장하는 데이터 타입
SECOND
초를 저장하는 데이터 타입
TIMEZONE_HOUR
시간대 오프셋 시를 저장하는 데이터 타입
TIMEZONE_MINUTE
시간대 오프셋 분을 저장하는 데이터 타입
TIMEZONE_REGION
시간대 지역 이름을 저장하는 데이터 타입
TIMEZONE_ABBR
시간대 일광절약시간 약어를 저장하는 데이터 타입
예제
다음은 EXTRACT 함수를 사용하는 예입니다.
EXTRACT(XML)
EXTRACT(XML)는 XML 문서에서 XPath를 이용하여 해당 XML의 노드를 반환하는 함수입니다.
EXTRACT(XML)의 세부 내용은 다음과 같습니다.
문법

구성요소
xml
질의의 대상이 되는 XML 문서로, XML 타입
xpath_str
질의할 XPath 문자열로, 최대 길이는 4000자
namespace_str
XML 문서에서 네임스페이스가 필요할 때 사용하는 옵션으로 VARCHAR 타입
예제
다음은 EXTRACT(XML) 함수를 사용하는 예입니다.
EXTRACTVALUE
EXTRACTVALUE는 XML 문서에서 XPath를 이용하여 해당 값을 VARCHAR 타입으로 반환하는 함수입니니다.
EXTRACTVALUE의 세부 내용은 다음과 같습니다.
문법

구성요소
xml
질의의 대상이 되는 XML 문서로, XML 타입
xpath_str
질의할 XPath 문자열로, 최대 길이는 4000자
namespace_str
XML 문서에서 네임스페이스가 필요할 때 사용하는 옵션으로 VARCHAR 타입
예제
다음은 EXTRACTVALUE 함수를 사용하는 예입니다.
FIRST
FIRST는 정렬된 로우에서 처음에 해당하는 로우를 뽑아내어 명시된 집단함수를 적용한 결과를 반환합니다. 현재 분석 함수는 지원하지 않습니다.
FIRST 세부 내용은 다음과 같습니다.
문법

구성요소
aggregate_function
사용가능한 집단 함수는 AVG, COUNT, MIN, MAX, SUM, STADDEV, VARIANCE
expr
임의의 연산식
예제
다음은 FIRST 함수를 사용하는 예입니다.
FIRST_VALUE
FIRST_VALUE는 정렬된 로우에서 첫 번째 값을 반환하는 분석함수입니다. IGNORE NULLS를 명시하면
NULL이 아닌 첫 번째 값을 반환합니다. 만약 모든 값이 NULL이라면 NULL을 반환합니다.
FIRST_VALUE 세부 내용은 다음과 같습니다.
문법

구성요소
expr
임의의 연산식
예제
다음은 FIRST_VALUE 함수를 사용하는 예입니다.
FLOOR
FLOOR는 주어진 파라미터의 값보다 작거나 같은 가장 큰 정수를 구하는 함수입니다. FLOOR의 세부 내용은 다음과 같습니다.
문법

구성요소
num
수치 값을 반환하는 임의의 연산식
예제
다음은 FLOOR 함수를 사용하는 예입니다.
FROM_TZ
FROM_TZ는 주어진 TIMESTAMP 값과 시간대를 이용하여 TIMESTAMP WITH TIME ZONE 값으로 바꿔 주는 함수입니다.
FROM_TZ의 세부 내용은 다음과 같습니다.
문법

구성요소
timestamp_value
시간값을 반환하는 임의의 연산식
timezone_value
시간대 지역 이름이나 오프셋을 반환하는 임의의 연산식
예제
다음은 FROM_TZ 함수를 사용하는 예입니다.
GETBLOBVAL
GETBLOBVAL는 XML 타입을 BLOB 형태로 변환하여 반환하는 함수입니다.
GETBLOBVAL의 세부 내용은 다음과 같습니다.
문법

구성요소
xml
BLOB 형태로 변환할 XML 타입 객체
csid
BLOB 형태로 변환할 때 사용할 characterset의 ID
예제
다음은 GETBLOBVAL 함수를 사용하는 예입니다.
GETCLOBVAL
GETCLOBVAL는 XML 타입을 CLOB형태로 변환하여 반환하는 함수입니다.
GETCLOBVAL의 세부 내용은 다음과 같습니다.
문법

구성요소
xml
CLOB 형태로 변환할 XML 타입 객체
예제
다음은 GETCLOBVAL 함수를 사용하는 예입니다.
GETROOTELEMENT
GETROOTELEMENT는 XML 타입 instance의 root element를 VARCHAR 타입으로 반환하는 함수입니다.
GETROOTELEMENT의 세부 내용은 다음과 같습니다.
문법

구성요소
xml
XML 타입 instance
예제
다음은 GETROOTELEMENT 함수를 사용하는 예입니다.
GETSTRINGVAL
GETSTRINGVAL는 XML 타입을 VARCHAR 타입으로 변환하여 반환하는 함수입니다.
GETSTRINGVAL의 세부 내용은 다음과 같습니다.
문법

구성요소
xml
VARCHAR 타입으로 변환할 XML 타입 객체
예제
다음은 GETSTRINGVAL 함수를 사용하는 예입니다.
GREATEST
GREATEST는 파라미터 중 가장 큰 값을 구하는 함수입니다.
GREATEST의 세부 내용은 다음과 같습니다.
문법

예제
다음은 GREATEST 함수를 사용하는 예입니다.
GROUPING
GROUPING은 Superaggreagate 로우와 Regular grouped 로우를 구분하기 위하여 사용하는 함수입니다.
ROLLUP과 CUBE는 Superaggreagate 로우를 생성하는데, 이때 모든 값의 집합은 NULL로 표현됩니다. GROUPING 함수를 사용하면 로우의 컬럼 값 NULL과 Superaggreagate 로우에서 모든 값의 집합을 나타 내기 위한 값 NULL을 구분할 수 있습니다. expr의 값이 모든 값의 집합을 나타낸다. NULL일 경우에는 1을 반 환하고, 그렇지 않을 경우에는 0을 반환합니다. 반환된 값은 NUMBER 타입입니다.
GROUPING의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
GROUP BY 절에 명시된 expr 중의 하나와 대응해야 함
예제
다음은 GROUPING 함수를 사용하는 예입니다.
GROUPING_ID
GROUPING_ID는 로우의 GROUPING 비트 벡터(Bit Vector)에 해당하는 NUMBER를 반환하는 함수입니다.
GROUPING_ID는 여러 GROUPING 함수의 결과를 비트 벡터로 통합하는 것과 같습니다. GROUPING_ID 함 수를 사용하면 다수의 GROUPING 함수를 사용하는 것을 피할 수 있으며, 로우 필터링의 조건을 보다 쉽 게 표현할 수 있습니다. GROUPING_ID를 이용한 로우 필터링은 GROUPING_ID = n과 같은 조건으로 간단히 처리할 수 있습니다.
GROUPING_ID는 GROUPING 함수와 ROLLUP 또는 CUBE가 사용된 SELECT 문에서만 사용할 수 있 다. GROUP BY가 여러 번 사용된 질의의 경우 특정 로우의 GROUP BY 수준을 결정하기 위해서는 GROUPING 함수를 여러 번 사용해야 하는데, 이는 복잡한 SQL 문장을 생성하게 됩니다. GROUPING_ID 는 이러한 경우에 유용합니다.
GROUPING_ID의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
GROUP BY clause에 명시된 expr 중의 하나와 대응해야 함
예제
다음은 GROUPING_ID 함수를 사용하는 예입니다.
GROUP_ID
GROUP_ID는 GROUP BY의 결과에서 중복된 그룹을 구분하는 함수입니다. 이는 쿼리 결과에서 중복된 그 룹을 걸러내는 데 유용하게 쓰인다. 중복된 그룹 로우를 구분할 수 있는 NUMBER 타입의 값을 반환합니다. 이 함수는 GROUP BY 절이 사용된 SELECT 문에만 사용할 수 있습니다.
GROUP_ID의 세부 내용은 다음과 같습니다.
문법

예제
HEXTORAW
HEXTORAW는 16진수로 표현된 문자열의 RAW 값을 구하는 함수입니다.
HEXTORAW의 세부 내용은 다음과 같습니다.
문법

구성요소
str
16진수 형태의 문자열 값을 반환하는 임의의 연산식
예제
다음은 RAW 컬럼이 있는 테이블을 만들고, HEXTORAW 함수를 이용해 16진수의 값을 컬럼에 삽입하는 예입니다.
INET_ATON
INET_ATON은 문자열 형식의 네트워크 주소를 파라미터로 받아 들여 그 주소에 해당하는 수치 값을 반 환하는 함수입니다. 4bytes와 8bytes의 주소 모두 사용할 수 있습니다.
반환된 값을 저장하기 위해서는 UNSIGEND INT를 사용해야 합니다. SIGNED INT를 사용하면 주소의 첫 옥 텟(Octet)의 값이 127보다 크면 올바로 저장되지 않습니다.
INET_ATON의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
문자열 형식의 네트워크 주소
예제
다음은 INET_ATON 함수를 사용하는 예입니다.
INET_NTOA
INET_NTOA는 수치 값의 네트워크 주소를 받아들여 문자열 형식으로 된 네트워크 주소를 반환하는 함수 입니다.
INET_NTOA의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
네트워크 주소를 수치 값으로 표현한 것
예제
다음은 INET_NTOA 함수를 사용하는 예입니다.
INITCAP
INITCAP는 첫 문자는 대문자, 나머지는 소문자로 변환된 문자열을 구하는 함수입니다.
INITCAP의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
예제
다음은 INITCAP 함수를 사용하는 예입니다.
INSERTCHILDXML
INSERTCHILDXML은 XPath expression으로 지정된 노드의 자식 노드에 사용자가 입력한 XML 값을 삽 입하는 함수로, INSERTXMLBEFORE 함수와 차이가 있습니다.
INSERTCHILDXML의 세부 내용은 다음과 같습니다.
문법

구성요소
XMLType_instance
XML 타입 객체를 반환하는 임의의 연산식
XPath_string
하나 이상의 자식 노드가 삽입될 위치를 나타내는 XPath 연산식
child_expr
삽입될 자식 노드의 원소나 속성을 나타내는 임의의 연산식
value_expr
삽입될 하나 이상의 자식 노드를 나타내는 임의의 연산식
이 연산식은 반드 시 문자열로 변환 가능해야 함
namespace_string
XPath의 네임스페이스 정보를 나타냄
반드시 VARCHAR 타입이어야 함
예제
다음은 INSERTCHILDXML 함수를 사용하는 예입니다.
INSERTCHILDXMLAFTER
INSERTCHILDXMLAFTER은 XPath expression으로 지정된 노드에 사용자가 입력한 XML 값을 삽입하 는 함수입니다. 이전에 존재하고 있는 자식 노드들의 뒤부터 삽입됩니다.
INSERTCHILDXMLAFTER의 세부 내용은 다음과 같습니다.
문법

구성요소
XMLType_instance
XML 타입 객체를 반환하는 임의의 연산식
XPath_string
하나 이상의 자식 노드가 삽입될 위치를 나타내는 XPath 연산식
child_expr
삽입될 자식 노드의 원소나 속성을 나타내는 임의의 연산식
value_expr
삽입될 하나 이상의 자식 노드를 나타내는 임의의 연산식
이 연산식은 반드 시 문자열로 변환 가능해야 함
namespace_string
XPath의 네임스페이스 정보를 나타냄
반드시 VARCHAR 타입이어야 함
예제
다음은 INSERTCHILDXMLAFTER 함수를 사용하는 예입니다.
INSERTCHILDXMLBEFORE
INSERTCHILDXMLBEFORE은 XPath expression으로 지정된 노드에 사용자가 입력한 XML 값을 삽입하 는 함수입니다. 이전에 존재하고 있는 자식 노드들의 앞부터 삽입됩니다.
INSERTCHILDXMLBEFORE의 세부 내용은 다음과 같습니다.
문법

구성요소
XMLType_instance
XML 타입 객체를 반환하는 임의의 연산식
XPath_string
하나 이상의 자식 노드가 삽입될 위치를 나타내는 XPath 연산식
child_expr
삽입될 자식 노드의 원소나 속성을 나타내는 임의의 연산식
value_expr
삽입될 하나 이상의 자식 노드를 나타내는 임의의 연산식
이 연산식은 반드 시 문자열로 변환 가능해야 함
namespace_string
XPath의 네임스페이스 정보를 나타냄
반드시 VARCHAR 타입이어야 함
예제
다음은 INSERTCHILDXMLBEFORE 함수를 사용하는 예입니다.
INSERTXMLAFTER
INSERTXMLAFTER은 XPath expression으로 지정된 노드에 사용자가 입력한 XML 값을 삽입하는 함수 입니다. 이전에 존재하고 있는 노드들의 뒤부터 삽입됩니다.
INSERTXMLAFTER의 세부 내용은 다음과 같습니다.
문법

구성요소
XMLType_instance
XML 타입 객체를 반환하는 임의의 연산식
XPath_string
하나 이상의 자식 노드가 삽입될 위치를 나타내는 XPath 연산식
value_expr
삽입될 하나 이상의 자식 노드를 나타내는 임의의 연산식
이 연산식은 반드 시 문자열로 변환 가능해야 함
namespace_string
XPath의 네임스페이스 정보를 나타냄
반드시 VARCHAR 타입이어야 함
예제
다음은 INSERTXMLAFTER 함수를 사용하는 예입니다.
INSERTXMLBEFORE
INSERTXMLBEFORE은 XPath expression으로 지정된 노드에 사용자가 입력한 XML 값을 삽입하는 함 수입니다. 이전에 존재하고 있는 노드들의 이전부터 삽입됩니다.
INSERTXMLBEFORE의 세부 내용은 다음과 같습니다.
문법

구성요소
XMLType_instance
XML 타입 객체를 반환하는 임의의 연산식
XPath_string
하나 이상의 자식 노드가 삽입될 위치를 나타내는 XPath 연산식
value_expr
삽입될 하나 이상의 자식 노드를 나타내는 임의의 연산식
이 연산식은 반드 시 문자열로 변환 가능해야 함
namespace_string
XPath의 네임스페이스 정보를 나타냄
반드시 VARCHAR 타입이어야 함함
예제
다음은 INSERTXMLBEFORE 함수를 사용하는 예입니다.
INSTR
INSTR은 문자열 str 내에서 문자열 substr을 찾아 그 위치를 반환하는 함수입니다. 추가로 INSTRB 함수는 문자 대신 byte 단위로 위치를 계산하여 그 위치를 반환합니다.
INSTR, INSTRB의 세부 내용은 다음과 같습니다.
문법

구성요소
str, substr
모두 문자열을 반환하는 임의의 연산식
만약 문자열 str 내에서 문자열 substr 을 발견하지 못하면 0을 반환
문자열의 위치 값은 1부터 시작됨
position
0이 아닌 정수 값을 반환하는 임의의 연산식(기본값: 1)
position이 주어지면 문자열 str의 position 위치에서부터 탐색을 시작
만약 position이 음수이면 문자열 str의 뒤에서부터 탐색을 시작
occurrence
0이 아닌 정수 값을 반환하는 임의의 연산식(기본값: 1)
occurrence가 주어지면 탐색 문자열 내에서 occurrence번째에 나타나는 문자열 substr의 위치를 반환
occurrence는 양의 정수이어야 함
예제
다음은 INSTR 함수를 사용하는 예입니다.
ISFRAGMENT
ISFRAGMENT은 xmltype_instance가 fragment이면 1을 반환하고, well-formed document이면 0을 반환 하는 함수입니다.
ISFRAGMENT의 세부 내용은 다음과 같습니다.
문법

구성요소
xmltype_instance
질의의 대상이 되는 XML 문서로, XMLType
예제
다음은 ISFRAGMENT 함수를 사용하는 예입니다.
JSON_ARRAY
JSON_ARRAY는 인자로 사용된 표현식을 JSON 값으로 변환하고, 해당 JSON 값들이 포함된 JSON 배 열을 반환하는 함수입니다.
JSON_ARRAY의 세부 내용은 다음과 같습니다.
문법

구성요소
json_array_element
expr에는 JSON 객체, JSON 배열, 리터럴 데이터 또는 null 등을 지정할 수 있음
FORMAT JSON을 지정하여 입력 문자열이 JSON임을 나타내고, 인용되지 않은 결과를 반환
json_on_null_claus
expr이 null일 때 함수의 동작을 지정하는 구문
지정하지 않을 경우 기본값은 ABSENT ON NULL
json_returning_clause
함수에서 반환된 값의 데이터 형식과 포맷을 지정하는 구문
지정하지 않을 경우 기본값은 VARCHAR2(65532)
예제
다음은 JSON_ARRAY 함수를 사용하는 예입니다.
JSON_ARRAYAGG
JSON_ARRAYAGG는 집합 함수입니다. SQL 표현식을 인자로 받아서 각 표현식을 JSON 값으로 변환한 후, 해당 JSON 값들을 포함하는 단일 JSON 배열을 반환합니다.
JSON_ARRAYAGG의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr에는 JSON 객체, JSON 배열, 리터럴 데이터 또는 null 등을 지정할 수 있음
FORMAT JSON을 지정하여 입력 문자열이 JSON임을 나타내고, 인용되지 않은 결과를 반환
order_by_clause
접합할 문자열을 어떻게 정렬할지를 명시
자세한 내용은 “분석 함수”의 order_by_clause를 참고
json_on_null_clause
expr이 null일 때 함수의 동작을 지정하는 구문
지정하지 않을 경우 기본값은 ABSENT ON NULL
json_returning_clause
함수에서 반환된 값의 데이터 형식과 포맷을 지정하는 구문
지정하지 않을 경우 기본값은 VARCHAR2(65532)
예제
다음은 JSON_ARRAYAGG 함수를 사용하는 예입니다.
JSON_EACH_TEXT
JSON_EACH_TEXT는 JSON 객체를 JSON KEY/VALUE 쌍의 세트로 확장하는 함수입니다. 이 함수는
FROM 절에서만 사용 가능합니다.
JSON_EACH_TEXT의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr에는 JSON 객체를 지정할 수 있음
예제
다음은 JSON_EACH_TEXT 함수를 사용하는 예입니다.
JSON_EQUAL
JSON_EQUAL은 두 JSON 값을 비교하여 같은지 판단하는 함수입니다.
JSON_EQUAL의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr에는 JSON 객체, JSON 배열, 리터럴 데이터 또는 null 등을 지정할 수 있음
json_equal_on_error_clause
오류가 발생할 때 반환하는 값을 지정하는 구문
지정하지 않을 경우 기본값은 FALSE ON NULL
예제
다음은 JSON_EQUAL 함수를 사용하는 예입니다.
JSON_MERGEPATCH
JSON_MERGEPATCH는 JSON 문서를 수정하는 함수입니다. JSON 문서를 수정하기 위해서는 수정 시킬 또 다른 JSON 문서가 필요합니다. JSON_MERGEPATCH 함수는 RFC 7396을 따른다.
JSON_MERGEPATCH의 세부 내용은 다음과 같습니다.
문법

구성요소
json_target_expr
수정이 되는 JSON 문서의 표현식
json_patch_expr
수정 시킬 JSON 문서의 표현식
json_returning_clause
함수에서 반환된 값의 데이터 형식과 포맷을 지정하는 구문
지정하지 않을 경우 기본값은 VARCHAR2(65532)
PRETTY
개행과 인덴트를 추가하여 결과를 출력
TRUNCATE
VARCHAR2 타입으로 리턴할 때 SIZE보다 긴 경우 SIZE만큼만 출력
json_mergepatch_on_er ror_clause
오류가 발생할 때 반환하는 값을 지정하는 구문
지정하지 않을 경우 기본값은 NULL ON ERROR
예제
다음은 JSON_MERGEPATCH 함수를 사용하는 예입니다.
JSON_EXISTS
JSON_EXISTS는 지정된 JSON 값이 JSON data에 존재하는지 확인하는 함수입니다.
JSON_EXISTS의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr은 질의의 대상이 되는 JSON data
json_path_expression
질의할 JSON 경로 표현식
경로 표현식은 리터럴 값이어야 함
json_passing_clause
passing 절을 사용하여 경로 표현식에 값을 전달
json_exists_on_error_clause
expr이 올바른 형식의 JSON 데이터가 아닐 때 반환하는 값을 지정하는 구문
지정하지 않을 경우 기본값은 FALSE ON ERROR
json_exists_on_empty_clause
일치하는 항목이 없을 때 반환하는 값을 지정하는 구문
지정하지 않을 경우 json_exists_on_error_clause 구문에 따라 반환 값을 결정
예제
다음은 JSON_EXISTS 함수를 사용하는 예입니다.
JSON_OBJECT
JSON_OBJECT는 KEY/VALUE 쌍의 시퀀스를 인자로 받아 각 object 멤버가 포함된 JSON 객체를 반환 하는 함수입니다.
JSON_OBJECT의 세부 내용은 다음과 같습니다.
문법

구성요소
entry
entry 절을 사용하여 KEY/VALUE 쌍을 지정
FORMAT JSON을 지정하여 입력 문자열이 JSON임을 나타내고, 인용되지 않은 결과를 반환
json_on_null_clause
expr이 null일 때 함수의 동작을 지정하는 구문
지정하지 않을 경우 기본값은 NULL ON NULL
json_returning_clause
함수에서 반환된 값의 데이터 형식과 포맷을 지정하는 구문
지정하지 않을 경우 기본값은 VARCHAR2(65532)
예제
다음은 JSON_OBJECT 함수를 사용하는 예입니다.
JSON_OBJECTAGG
JSON_OBJECTAGG는 집합 함수입니다. KEY/VALUE 쌍의 시퀀스를 인자로 받는다. 이 함수는 KEY-VALUE
쌍에 대해 object를 생성하고 단일 JSON 객체를 반환하는 함수입니다.
JSON_OBJECTAGG의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
key_expr을 통해 KEY를 value_expr을 통해 VALUE를 지정
json_on_null_clause
expr이 null일 때 함수의 동작을 지정하는 구문
지정하지 않을 경우 기본값은 NULL ON NULL
json_returning_clause
함수에서 반환된 값의 데이터 형식과 포맷을 지정하는 구문
지정하지 않을 경우 기본값은 VARCHAR2(65532)
with unique keys
생성된 JSON 객체에 unique key를 보장하려면 with unique keys를 지정
예제
다음은 JSON_OBJECTAGG 함수를 사용하는 예입니다.
JSON_OBJECT_KEYS
JSON_OBJECT_KEYS는 outermost JSON 객체의 key 세트를 반환하는 함수입니다.
JSON_OBJECT_KEYS의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr에는 JSON 객체를 지정할 수 있음
예제
다음은 JSON_OBJECT_KEYS 함수를 사용하는 예입니다.
JSON_QUERY
JSON_QUERY는 JSON 데이터에서 경로에 해당하는 하나 이상의 값을 선택하여 반환하는 함수입니다.
JSON_QUERY의 세부 내용은 다음과 같습니다.
문법


구성요소
expr
질의의 대상이 되는 JSON data
json_path_expression
질의할 JSON 경로 표현식
경로 표현식은 리터럴 값이어야 함
json_query_returning_clause
함수에서 반환된 값의 데이터 형식과 포맷을 지정하는 구문
지정하지 않을 경우 기본값은 VARCHAR2(65532)
PRETTY를 설정하면 개행 문자를 삽입하고 들여쓰기하여 반환 문자열을 이쁘게 출력
json_query_wrapper_clause
경로 표현식에 일치하는 결과를 대괄호([])로 묶을지 지정하는 구문
지정하지 않을 경우 기본값은 WITHOUT WRAPPER
json_query_on_error_clause
오류가 발생할 때 반환하는 값을 지정하는 구문
지정하지 않을 경우 기본값은 NULL ON ERROR
json_query_on_empty_clause
일치하는 결과가 없을 때 반환하는 값을 지정하는 구문
지정하지 않을 경우 json_query_on_error_clause 구문에 따라 반환 값을 결정
예제
JSON_TABLE
JSON_TABLE은 JSON 데이터의 관계형 뷰를 생성하는 함수입니다. 이 함수는 FROM 절에서만 사용 가능 합니다.
JSON_TABLE의 세부 내용은 다음과 같습니다.
문법



구성요소
expr
질의의 대상이 되는 JSON data
json_path_expression
질의할 JSON 경로 표현식
경로 표현식은 리터럴 값이어야 함
json_table_on_error_clause
오류가 발생할 때 반환하는 값을 지정하는 구문
json_table_on_empty_clause
일치하는 결과가 없을 때 반환하는 값을 지정하는 구문
지정하지 않을 경우 json_table_on_error_clause 구문에 따라 반환값을 결정
json_columns_clause
COLUMNS 절을 사용하여 JSON_TABLE 함수에서 반환된 가상 관계형 테이블의 열을 정의
예제
다음은 JSON_TABLE 함수를 사용하는 예입니다.
JSON_VALUE
JSON_VALUE는 JSON data에서 경로에 해당하는 scalar JSON 값을 반환하는 함수입니다.
JSON_VALUE의 세부 내용은 다음과 같습니다.
문법


구성요소
expr
질의의 대상이 되는 JSON data
json_path_expression
질의할 JSON 경로 표현식
경로 표현식은 리터럴 값이어야 함
json_value_return ing_clause
함수에서 반환된 값의 데이터 형식과 포맷을 지정하는 구문
지정하지 않을 경우 기본값은 VARCHAR2(4000)
json_value_on_er ror_clause
오류가 발생할 때 반환하는 값을 지정하는 구문
지정하지 않을 경우 기본값은 NULL ON ERROR
json_value_on_emp ty_clause
일치하는 결과가 없을 때 반환하는 값을 지정하는 구문
지정하지 않을 경우 json_value_on_error_clause 구문에 따라 반환 값을 결정
예제
다음은 JSON_VALUE 함수를 사용하는 예입니다.
KURT
KURT는 expr의 첨도를 반환하는 함수입니다. 파라미터의 수치 데이터 타입 또는 변환된 수치 데이터 타입 을 반환합니다.
KURT의 세부 내용은 다음과 같습니다.
문법

구성요소
set_quantifier
질의 결과에 중복된 로우의 허용, 비허용 여부를 지정
DISTINCT, UNIQUE, ALL을 지정할 수 있
DISTINCT, UNIQUE : 중복된 로우를 제거
ALL : 모든 로우를 선택기본값)
expr
모든 수치 데이터 타입 또는 수치 데이터 타입은 아니지만 묵시적으로 수치 데이터 타입으로 변환할 수 있는 임의의 연산식
예제
다음은 KURT 함수를 사용하는 예입니다.
LAG
LAG는 자기 자신과 조인하지 않고도 한 테이블에서 여러 개의 로우를 동시에 볼 수 있는 분석 함수입니다. LAG는 명시된 수만큼 현재 로우에서 앞서 있는 로우에 접근을 제공합니다.
LAG의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr에 LAG를 포함한 다른 분석 함수를 명시할 수 없음
즉, 분석 함수를 중첩해서 사용할 수는 없음음
offset
접근 횟수를 offset에 명시
offset을 명시하지 않으면 1로 간주됨
default
offset이 윈도우의 범위를 초과하면 default에서 지정한 값이 반환
default를 명시하지 않으면 NULL이 반환
partition_by
현재 질의 블록의 결과 집합을 expr을 기준으로 분할
자세한 내용은 “분석 함수”의 partition_by를 참고
order_by_clause
분할된 하나의 파티션 내에서 로우를 어떻게 정렬할지를 명시
자세한 내용은 “분석 함수”의 order_by_clause를 참고
예제
다음은 LAG 함수를 사용하는 예입니다.
LAST_DAY
LAST_DAY는 파라미터에 명시된 날짜를 포함하는 연월의 마지막 날로 변환된 날짜를 구하는 함수입니다.
LAST_DAY의 세부 내용은 다음과 같습니다.
문법

구성요소
date
날짜 값을 반환하는 임의의 연산식
예제
다음은 LAST_DAY 함수를 사용하는 예입니다.
LAST
LAST는 정렬된 로우에서 마지막에 해당하는 로우를 뽑아내어 명시된 집단함수를 적용한 결과를 반환한 다. 현재 분석 함수는 지원하지 않습니다.
LAST 세부 내용은 다음과 같습니다.
문법

구성요소
aggregate_function
사용가능한 집단 함수는 AVG, COUNT, MIN, MAX, SUM, STADDEV 그리고 VARIANCE
expr
임의의 연산식
예제
다음은 LAST 함수를 사용하는 예입니다.
LAST_VALUE
LAST_VALUE는 정렬된 로우에서 마지막 값을 반환하는 분석함수입니다. IGNORE NULLS를 명시하면
NULL이 아닌 첫 번째 값을 반환합니다. 만약 모든 값이 NULL이라면 NULL을 반환합니다.
LAST_VALUE 세부 내용은 다음과 같습니다.
문법

구성요소
expr
임의의 연산식
예제
다음은 LAST_VALUE 함수를 사용하는 예입니다.
LEAD
LEAD는 자기 자신과 조인하지 않고도 한 테이블에서 여러 개의 로우를 동시에 볼 수 있는 분석 함수입니다. LEAD는 명시된 수만큼 현재 로우에서 뒤에 나오는 로우에 접근을 제공합니다.
LEAD의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr에 LEAD를 포함한 다른 분석 함수를 명시할 수 없음
즉, 분석 함수를 중첩해서 사용할 수는 없음음
offset
접근 횟수를 offset에 명시
offset을 명시하지 않으면 1로 간주됨
default
offset이 윈도우의 범위를 초과하면 default에서 지정한 값이 반환
default를 명시하지 않으면 NULL이 반환
partition_by
현재 질의 블록의 결과 집합을 expr을 기준으로 분할
자세한 내용은 “분석 함수”의 partition_by를 참고
order_by_clause
분할된 하나의 파티션 내에서 로우를 어떻게 정렬할지를 명시
자세한 내용은 “분석 함수”의 order_by_clause를 참고
예제
다음은 LEAD 함수를 사용하는 예입니다.
LEAST
LEAST는 파라미터 중 가장 작은 값을 가지는 파라미터를 구하는 함수입니다.
LEAST의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
임의의 연산식
첫 파라미터 이후의 모든 파라미터는 첫 파라미터의 타입으로 암묵적으로 변환된 후 비교
expr 중 하나의 값이 NULL이면 함수는 NULL을 반환
예제
다음은 LEAST 함수를 사용하는 예입니다.
LENGTH
LENGTH는 주어진 파라미터의 문자열의 길이를 반환하는 함수입니다.
LENGTHB는 문자열의 길이를 문자 대신 byte 단위로 계산합니다.
LENGTHC는 문자열의 길이를 유니코드 완전한 문자로 계산합니다.
LENGTH의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
예제
다음은 LENGTH 함수를 사용하는 예입니다.
LISTAGG
LISTAGG는 “AGGR_CONCAT”과 동일한 기능을 하는 함수입니다. Oracle과의 호환성을 위해 추가 되었습니다.
AGGR_CONCAT과는 다음과 같은 사용법에 차이가 있습니다.
set_quantifier 를 사용할 수 없습니다.
separator를 생략할 수 있고 기본값은 NULL입니다.
order_by_clause는 WITHIN GROUP 이후에 명시하고 생략할 수 없습니다.
LISTAGG의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
문자열이나 문자열로 변환될 수 있는 임의의 연산식
separator
expr과 접합될 구분자를 나타내는 문자 리터럴
order_by_clause
접합할 문자열을 어떻게 정렬할지를 명시
자세한 내용은 “4.1.3. 분석 함수”의 order_by_clause를 참고
query_partition_clause
쿼리 결과에 대해 어떻게 그룹화 할지를 명시
overflow_clause
데이터의 길이가 반환 타입의 최대 길이보다 큰 경우 처리하는 방식을 정의
ON OVERFLOW ERROR 가 기본값으로 에러를 출력
ON OVERFLOW TRUNCATE 는 최대 길이 이후의 데이터를 생략
trunc_indicator 문자열을 정의하면 생략되기 전에 trunc_indicator 문자열이 출력됨
WITH COUNT, WITHOUT COUNT
WITH COUNT가 기본값으로 생략된 ROW의 수를 출력
WITHOUT COUNT 생략된 ROW의 수를 출력하지 않음
예제
다음은 LISTAGG 함수를 사용하는 예입니다.
LN
LN은 주어진 파라미터의 자연 로그 값을 구하는 함수입니다.
LN의 세부 내용은 다음과 같습니다.
문법

구성요소
num
수치 값을 반환하는 임의의 연산식이며, 0보다 큰 실수값을 가져야 함
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
num의 타입이 BINARY_FLOAT일 경우엔 BINARY_DOUBLE 타입을 반환하고, 그렇지 않은 경우엔 num과 동일한 타입을 반환
예제
다음은 LN 함수를 사용하는 예입니다.
LNNVL
LNNVL은 condition의 계산 값이 FALSE이거나 UNKNOWN이면 TRUE를 반환하고, TRUE이면 FALSE를 반환하는 함수입니다. 일반적으로 사용자가 직접 이 함수를 사용할 일은 거의 없지만, 쿼리를 최적화하는 과 정에서 사용할 수 있습니다.
LNNVL의 세부 내용은 다음과 같습니다.
문법

구성요소
condition
임의의 조건식
조건식에 관한 자세한 내용은 “조건식”을 참고
예제
다음은 LNNVL 함수를 사용하는 예입니다.
LOCALTIMESTAMP
LOCALTIMESTAMP는 현재 날짜 및 시간을 출력하는 함수입니다. 이 함수의 반환값은 TIMESTAMP 타입 입니다.
LOCALTIMESTAMP의 세부 내용은 다음과 같습니다.
문법

예제
다음은 LOCALTIMESTAMP 함수를 사용하는 예입니다.
LOG
LOG는 밑을 num1으로 하는 num2의 로그 값을 반환하는 함수입니다.
LOG의 세부 내용은 다음과 같습니다.
문법

구성요소
num1, num2
0보다 큰 실수 값을 반환하는 임의의 연산식이며, num2는 0이나 1이면 안됨
num1이나 num2는 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
num1이나 num2의 타입이 BINARY_FLOAT이나 BINARY_DOUBLE일경우엔 BINARY_DOUBLE 타입을 반환하고, 그렇지 않은 경우엔 NUMBER 타입 을 반환
예제
다음은 LOG 함수를 사용하는 예입니다.
LOWER
LOWER는 문자열 str 내의 모든 영문자를 소문자로 변환하여 반환하는 함수입니다.
LOWER의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
예제
다음은 LOWER 함수를 사용하는 예입니다.
LPAD
LPAD는 expr2를 expr1의 왼쪽에 반복적으로 붙인 길이 num의 문자열을 구하는 함수입니다.
대부분의 문자 집합에서는 반환되는 문자열의 문자 수와 길이가 동일하지만, 한글과 같은 멀티 바이트 문자 집합의 경우에는 두 값이 다를 수 있습니다.
LPAD의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
문자열 또는 CLOB 타입, BLOB 타입을 반환하는 임의의 연산식
expr1의 길이가 num 보다 큰 경우 expr1에서 왼쪽부터 num만큼의 문자열을 반환
expr2
문자열 또는 CLOB 타입, BLOB 타입을 반환하는 임의의 연산식
expr2가 명시되지 않은 경우 공백 문자가 사용됨
num
num은 수치 값을 반환하는 임의의 연산식
num은 터미널에 출력되는 길이를 의미
예제
다음은 LPAD 함수를 사용하는 예입니다.
LTRIM
LTRIM은 문자열 str의 왼쪽으로부터 문자열 char_set 내에 포함된 모든 문자를 제거하는 함수입니다.
LTRIM의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
char_set
문자열을 반환하는 임의의 연산식
만약 파라미터 char_set의 값이 없으면, 기본값으로 공백 문자 하나를 가짐
예제
다음은 LTRIM 함수를 사용하는 예입니다.
MAX
MAX는 그룹 내의 모든 로우에 대한 expr 값 중의 최댓값을 구하는 함수입니다. 분석 함수로도 사용할 수 있 다. 이 함수를 분석 함수로 사용할 때 DISTINCT 예약어를 명시하면 analytic_clause에서 partition_by만 명 시할 수 있습니다. order_by_clause는 명시할 수 없습니다.
MAX의 세부 내용은 다음과 같습니다.
문법

구성요소
set_quantifier
질의 결과에 중복된 로우의 허용, 비허용 여부를 지정
DISTINCT, UNIQUE, ALL을 지정할 수 있음
DISTINCT, UNIQUE : 중복된 로우를 제거
ALL : 모든 로우를 선택 (기본값)
expr
임의의 연산식
expr 앞에 DISTINCT 예약어를 포함하면, 최댓값을 구하기 전에 expr 값 중에서 중복된 값을 먼저 제거
analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용은 “분석 함수”의 analytic_clause를 참고
예제
다음은 MAX 함수를 사용하는 예입니다.
분석 함수 예제
다음은 MAX 함수를 분석 함수로 사용하는 예입니다.
MEDIAN
MEDIAN은 파라미터로 주어진 expr의 그룹 안에서의 중간 값을 계산하는 함수입니다. 분석 함수로도 사용 할 수 있습니다. 계산을 할 때 NULL 값은 무시합니다. 계산 방법과 계산 결과는 PERCENTILE_CONT에 파라미터 값 0.5를 사용한 것과 동일합니다.
MEDIAN의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
수치 값을 반환하는 임의의 연산식
analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용 은 “분석 함수”의 analytic_clause를 참고
예제
다음은 MEDIAN 함수를 사용하는 예입니다.
분석 함수 예제
다음은 MEDIAN 함수를 분석 함수로 사용하는 예입니다.
MIN
MIN은 그룹 내의 모든 로우에 대한 expr 값 중의 최솟값을 구하는 함수입니다. 분석 함수로도 사용할 수 있 다. 이 함수를 분석 함수로 사용할 때 DISTINCT 예약어를 명시하면 analytic_clause에서 partition_by만 명 시할 수 있습니다. order_by_clause는 명시할 수 없습니다.
MIN의 세부 내용은 다음과 같습니다.
문법

구성요소
set_quantifier
질의 결과에 중복된 로우의 허용, 비허용 여부를 지정
DISTINCT, UNIQUE, ALL을 지정할 수 있음
DISTINCT, UNIQUE : 중복된 로우를 제거
ALL : 모든 로우를 선택 (기본값)
expr
임의의 연산식
expr 앞에 DISTINCT 예약어를 포함하면, 최솟값을 구하기 전에 expr 값 중에서 중복된 값을 먼저 제거
analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용은 “분석 함수”의 analytic_clause를 참고
예제
다음은 MIN 함수를 사용하는 예입니다.
분석 함수 예제
다음은 MIN 함수를 분석 함수로 사용하는 예입니다.
MOD
MOD는 num1을 num2로 나눈 나머지를 반환하는 함수입니다. 이 함수는 num1 또는 num2가 음수이면 전통 적인 모듈러스(Modulus) 함수와는 다른 결과를 반환합니다.
MOD 함수는 다음과 같이 정의할 수 있습니다.
위의 수식에서 MOD1은 전통적인 모듈러스 함수이며, num1과 num2가 모두 양수이면 MOD 함수와 같은 결과를 반환합니다. 위의 SIGN 함수는 num1이 양수이면 +1, 음수이면 -1을 반환하며, ABS 함수는 num1과 num2의 절댓값을 반환합니다.
MOD의 세부 내용은 다음과 같습니다.
문법

구성요소
num1, num2
임의의 수치 값을 반환하는 연산식
num1이나 num2는 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
num1이나 num2는 두 타입 중 숫자형 우선순위에 따라 더 높은 순위의 타입으로 변환되고, 또한 그 타입으로 반환됨
예제
다음은 MOD 함수를 사용하는 예입니다.
MONTHS_BETWEEN
MONTHS_BETWEEN은 date1과 date2 사이의 개월 차를 구하는 함수입니다. 두 날짜 사이의 일수를 31로 나눈 값을 반환합니다.
MONTHS_BETWEEN의 세부 내용은 다음과 같습니다.
문법

구성요소
date1, date2
날짜를 반환하는 임의의 연산식
예제
다음은 MONTHS_BETWEEN 함수를 사용하는 예입니다.
NANVL
NANVL은 num1이 NaN(Not A Number)가 아니면 num1을 반환하고, num1이 NaN이면 num2를 반환하는 함수입니다.
NANVL의 세부 내용은 다음과 같습니다.
문법

구성요소
num1, num2
num1이나 num2는 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
num1이나 num2는 두 타입 중 숫자형 우선순위에 따라 더 높은 순위의 타입으로 변환되고, 그 타입으로 반환
예제
다음은 NANVL 함수를 사용하는 예입니다.
NEW_TIME
NEW_TIME는 timezone1에 속해있는 date값을 timezone2에 해당하는 날짜/시간값으로 변환하여 그 결과 를 반환하는 함수입니다.
NEW_TIME의 세부 내용은 다음과 같습니다.
문법

구성요소
date
날짜를 반환하는 임의의 연산식
timezone1
시간대값을 반환하는 임의의 연산식으로 다음 문자열들을 사용할 수 있음
AST, ADT : 대서양 표준시, 대서양 일광절약시간
BST, BDT : 베링 표준시, 베링 일광절약시간
CST, CDT : 중부 표준시, 중부 일광절약시간
EST, EDT : 동부 표준시, 동부 일광절약시간
GMT : 그리니치 표준시
HST, HDT : 알래스카-하와이 표준시, 알래스카-하와이 일광절약시간
MST, MDT : 산악 표준시, 산악 일광절약시간
NST : 뉴펀틀랜드 표준시
PST, PDT : 태평양 표준시, 태평양 일광절약시간
YST, YDT : 유콘 표준시, 유콘 일광절약시간
timezone2
시간대 값을 반환하는 임의의 연산식으로 timezone1과 동일한 문자열들을 사용할 수 있음
예제
다음은 NEW_TIME 함수를 사용하는 예입니다.
NEXT_DAY
NEXT_DAY는 date와 가장 가까운 다음 요일 str의 날짜를 반환하는 함수입니다.
NEXT_DAY의 세부 내용은 다음과 같습니다.
문법

구성요소
date
날짜를 반환하는 임의의 연산식
str
요일을 나타내는 문자열 값
예제
다음은 NEXT_DAY 함수를 사용하는 예입니다.
NLSSORT
NLSSORT는 str를 정렬하기 위해 사용되는 문자 바이트를 반환하는 함수입니다.
NLSSORT의 세부 내용은 다음과 같습니다.
문법

구성요소
str
정렬하기 위한 문자열 값
CHAR, VARCHAR, NCHAR, NVARCHAR 타입의 데이터가 올 수 있음
nls_param
str를 정렬하기 위해 사용할 문자 집합을 정의하는 파라미터
CHAR, VARCHAR, NCHAR, NVARCHAR 타입의 데이터가 올 수 있음
'NLS_SORT=sort'와 같은 형식으로 정의할 수 있음
정의하지 않으면 세션에 정의된 값을 사용
예제
다음은 NLSSORT 함수를 사용하는 예입니다.
NLS_CHARSET_ID
NLS_CHARSET_ID는 인자로 받은 characterset name에 해당하는 characterset의 characterset id를 반환 해 주는 함수입니다.
NLS_CHARSET_ID의 세부 내용은 다음과 같습니다.
문법

구성요소
str
Characterset id를 반환할 characterset의 characterset name
CHAR, VARCHAR, NCHAR, NVARCHAR 타입의 데이터가 올 수 있음
예제
다음은 NLS_CHARSET_ID 함수를 사용하는 예입니다.
NLS_INITCAP
NLS_INITCAP은 각 단어의 첫 글자를 대문자로, 다른 나머지 글자는 소문자로 변환하는 함수입니다.
str에는 CHAR, VARCHAR, NCHAR, NVARCHAR 형식의 문자열이 올 수 있고, 결과는 입력된 str의 문자 집합과 동일한 형식의 값이 반환됩니다. nls_param은 'NLS_SORT=sort'와 같은 형식으로 정의될 수 있으며, 정의되지 않았을 경우에는 세션에 정의된 값을 사용하게 됩니다.
NLS_INITCAP의 세부 내용은 다음과 같습니다.
문법

구성요소
str
변환하기 위한 문자열 값
CHAR, VARCHAR, NCHAR, NVARCHAR 타입의 데이터가 올 수 있음
변환 결과는 입력된 str의 문자 집합과 동일한 형식의 값이 반환됨
nls_param
str를 변환하기 위해 사용할 문자 집합을 정의하는 파라미터
CHAR, VARCHAR, NCHAR, NVARCHAR 타입의 데이터가 올 수 있음 'NLS_SORT=sort'와 같은 형식으로 정의할 수 있음
정의하지 않으면 세션에 정의된 값을 사용
예제
다음은 NLS_INITCAP 함수를 사용하는 예입니다.
NLS_LOWER
NLS_LOWER는 입력된 문자열을 모두 소문자로 변환하는 함수입니다.
NLS_LOWER의 세부 내용은 다음과 같습니다.
문법

구성요소
str
변환하기 위한 문자열 값
CHAR, VARCHAR, NCHAR, NVARCHAR 타입의 데이터가 올 수 있음
nls_param
str를 변환하기 위해 사용할 문자 집합을 정의하는 파라미터
CHAR, VARCHAR, NCHAR, NVARCHAR 타입의 데이터가 올 수 있음
'NLS_SORT=sort'와 같은 형식으로 정의할 수 있음
정의하지 않으면 세션에 정의된 값을 사용
예제
다음은 NLS_LOWER 함수를 사용하는 예입니다.
NLS_UPPER
NLS_UPPER는 입력된 문자열을 모두 대문자로 변환하는 함수입니다.
NLS_UPPER의 세부 내용은 다음과 같습니다.
문법

구성요소
str
변환하기 위한 문자열 값
CHAR, VARCHAR, NCHAR, NVARCHAR 타입의 데이터가 올 수 있음
nls_param
str를 변환하기 위해 사용할 문자 집합을 정의하는 파라미터
CHAR, VARCHAR, NCHAR, NVARCHAR 타입의 데이터가 올 수 있음
'NLS_SORT=sort'와 같은 형식으로 정의할 수 있음
정의하지 않으면 세션에 정의된 값을 사용
예제
다음은 NLS_UPPER 함수를 사용하는 예입니다.
NTILE
NTILE은 그룹 내의 정렬된 행을 expr개의 버킷으로 나누어 버킷의 번호를 지정해 주는 분석 함수입니다.
NTILE의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr이 정수가 아니면 소수점 이하를 버린 값을 사용
expr에 LEAD를 포함한 다른 분석 함수를 명시할 수 없음
즉, 분석 함수를 중첩해서 사용할 수는 없음
예제
다음은 NTILE 함수를 사용하는 예입니다.
NULLIF
NULLIF는 만약 expr1과 expr2의 값이 동일하면 NULL을 반환하고, 그렇지 않으면 expr1 값을 반환하는 함수입니다.
NULLIF의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
임의의 연산식이며, expr1에 NULL이 올 수 없음
expr2
임의의 연산식
예제
다음은 NULLIF 함수를 사용하는 예입니다.
NUMTODSINTERVAL
NUMTODSINTERVAL은 입력으로 들어온 값을 날짜-시간 구간 형식으로 변환하는 함수입니다.
NUMTODSINTERVAL의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
변환할 입력 값
interval_unit
변환의 단위를 나타내는 값
DAY, HOUR, MINUTE, SECOND 중 하나의 값만 올 수 있음
예제
다음은 NUMTODSINTERVAL 함수를 사용하는 예입니다.
NUMTOYMINTERVAL
NUMTOYMINTERVAL은 입력으로 들어온 값을 년도-달 구간 형식으로 변환하는 함수입니다.
NUMTOYMINTERVAL의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
변환할 입력 값
interval_unit
변환의 단위를 나타내는 값
YEAR, MONTH 중 하나의 값만 올 수 있음
예제
다음은 NUMTOYMINTERVAL 함수를 사용하는 예입니다.
NVL
NVL은 expr1이 NULL이 아니면 expr1을 반환하고, expr1이 NULL이면 expr2를 반환하는 함수입니다.
NVL의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
임의의 연산식
expr2
임의의 연산식
예제
다음은 NVL 함수를 사용하는 예입니다.
NVL2
NVL2는 expr1이 NULL이 아니면 expr2를 반환하고 NULL이면 expr3를 반환하는 함수입니다.
NVL2의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
임의의 연산식
expr2
임의의 연산식
expr2의 데이터 타입에 따라 반환되는 타입이 결정됨
expr3
임의의 연산식
expr3은 expr2의 데이터 타입으로 암묵적으로 변환됨
예제
다음은 NVL2 함수를 사용하는 예입니다.
ORA_HASH
ORA_HASH는 주어진 데이터에 대해 해시값을 계산하고 그 결과를 반환하는 함수입니다.
ORA_HASH의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
해시 값을 계산하기 위한 데이터를 나타내는 임의의 연산식
LONG과 LOB을 제외한 모든 타입을 사용할 수 있음
max_bucket
최대 버킷 크기를 나타내는 숫자 연산식
0부터 4294967295 사이의 값을 사용할 수 있음(기본값: 4294967295)
seed_value
같은 데이터에 대해 해시 값의 변화를 줄 수 있는 숫자 연산식
0부터 4294967295 사이의 값을 사용할 수 있음(기본값: 0)
예제
다음은 ORA_HASH 함수를 사용하는 예입니다.
OVERLAPS
OVERLAPS는 두 개의 시간 간격이 서로 겹치는지의 여부를 알아보는 함수입니다. 겹칠 때는 TRUE를, 겹 치지 않을 때는 FALSE를 반환합니다. 시간 간격은 시작점과 끝점이 한 쌍으로 명시됩니다. 시작점 또는 끝점 은 DATE, TIMESTAMP 타입이 가능하며, 끝점에 대해서 추가로 INTERVAL을 명시하는 것도 가능합니다.
OVERLAPS의 세부 내용은 다음과 같습니다.
문법

구성요소
date1, date3
시작 날짜를 나타
DATE 또는 TIMESTAMP 타입냄
date2, date4
끝 날짜를 나타냄
DATE 또는 TIMESTAMP 타입
interval1, interval2
날짜의 간격을 나타내는 간격 리터럴
예제
다음은 OVERLAPS 함수를 사용하는 예입니다.
PERCENT_RANK
PERCENT_RANK는 파라미터로 주어진 값의 그룹 내의 위치를 나타내 주는 함수입니다. 반환되는 값은 0
~ 1 사이의 값이고 NUMBER 타입입니다. 분석 함수로도 사용할 수 있습니다. 계산 방법은 다음과 같이 함수에 따라 달라진다.
집계 함수
주어진 파라미터로 구성된 가상의 로우의 RANK 값을 계산하여 1을 빼고 그룹 안의 로우의 개수로 나눔
파라미터의 값은 그룹 안에서는 상수 값을 가져야 하며 ORDER BY절의 표현식과 대응되어야함
분석 함수
주어진 파라미터로 구성된 가상의 로우의 RANK 값에서 1을 뺀 값을 그룹 안의 로 우의 개수에서 1을 뺀 값으로 나눔
PERCENT_RANK의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
수치 값을 반환하는 임의의 연산식
partition_by
현재 질의 블록의 결과 집합을 expr 또는 expr의 리스트를 기준으로 분할
자세한 내용은 “분석 함수”의 partition_by를 참고
order_by_clause
분할된 하나의 파티션 내에서 로우를 어떻게 정렬할지를 명시
자세한 내용은 “분석 함수”의 order_by_clause를 참고
예제
다음은 PERCENT_RANK 함수를 사용하는 예입니다.
분석 함수 예제
다음은 PERCENT_RANK 함수를 분석 함수로 사용하는 예입니다.
PERCENTILE_CONT
PERCENTILE_CONT는 연속 분포 모델에서 파라미터로 주어진 백분위 값에 해당하는 값을 계산하는 역 분포 함수입니다. 분석 함수로도 사용할 수 있습니다. 계산을 할 때 NULL 값은 무시합니다.
파라미터의 표현식의 값은 백분위 값으로 그룹 내에서 0에서 1사이의 상수여야 합니다. ORDER BY 절의 표 현식은 보간을 계산할 수 있는 수치 또는 날짜형의 데이터 타입이어야 합니다.
PERCENTILE_CONT는 정렬 스펙에 맞게 정렬한 후 보간법에 따라 계산합니다. 이를 위해 다음과 같이 RN, CRN, FRN 값을 계산합니다.
P
파라미터로 주어진 백분위 값
N
그룹 내의 NULL이 아닌 로우의 개수
최종 결과는 CRN과 FRN이 같다면 RN번째 행의 expr의 값이고, 다르다면 다음과 같이 계산합니다.
PERCENTILE_CONT의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
수치 값을 반환하는 임의의 연산식
ASC
ORDER BY ASC는 결과를 오름차순으로 정렬 (기본값)
DESC
ORDER BY DESC는 결과를 내림차순으로 정렬
partition_by
현재 질의 블록의 결과 집합을 expr 또는 expr의 리스트를 기준으로 분할
자세한 내용은 “분석 함수”의 partition_by를 참고
예제
다음은 PERCENTILE_CONT 함수를 사용하는 예입니다.
분석 함수 예제
다음은 PERCENTILE_CONT 함수를 분석 함수로 사용하는 예입니다.
PERCENTILE_DISC
PERCENTILE_DISC는 이산 분포를 가정한 역분산 함수입니다. 분석 함수로도 사용할 수 있습니다. 계산을 할 때 NULL 값은 무시합니다. 파라미터의 표현식의 값은 백분위 값으로 그룹 내에서 0 ~ 1사이의 상수이어야 합니다. ORDER BY 절로 정렬을 할 수 있는 타입이어야 합니다.
PERCENTILE_DISC의 값을 계산하기 위해 다음과 같이 RN을 계산합니다. 계산된 결과 값은 CRN에 해당 하는 행의 expr 값입니다.
PERCENTILE_DISC의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
수치 값을 반환하는 임의의 연산식
ASC
ORDER BY ASC는 결과를 오름차순으로 정렬 (기본값)
DESC
ORDER BY DESC는 결과를 내림차순으로 정렬
partition_by
현재 질의 블록의 결과 집합을 expr 또는 expr의 리스트를 기준으로 분할
자세한 내용은 “분석 함수”의 partition_by를 참고
예제
다음은 PERCENTILE_DISC 함수를 사용하는 예입니다.
분석 함수 예제
다음은 PERCENTILE_DISC 함수를 분석 함수로 사용하는 예입니다.
POWER
POWER는 num1의 num2 제곱 값(num1^(num2))을 반환하는 함수입니다.
POWER의 세부 내용은 다음과 같습니다.
문법

구성요소
num1, num2
수치 값을 반환하는 임의의 연산식
num1이 음수인 경우 num2는 정수이어야 함
num1이나 num2는 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
만약 num1이나 num2의 타입이 BINARY_FLOAT이나 BINARY_DOUBLE일 경우엔 BINARY_DOUBLE 타입을 반환하고, 그렇지 않은 경우엔 NUMBER 타입을 반환
예제
다음은 POWER 함수를 사용하는 예입니다.
QOUTED_STRING
QOUTED_STRING은 문자열 str의 값을 반환하는 함수입니다.
QOUTED_STRING의 세부 내용은 다음과 같습니다.
문법

구성요소
delimiter
구분자
구분자로는 출력 가능한 모든 ASCII 문자(알파벳, 숫자, 특수문자)를 사용할 수 있음
이때, 만약 시작 구분자가 열린 괄호(<, (, {, [)일 경우 종료 구분자 는 이에 대응되는 닫힌 괄호(>, ), }, ])여야 함
종료 구분자를 입력하지 않은 경 우 오류 메시지가 출력
str
문자열을 반환하는 임의의 연산식
예제
다음은 QUOTED_STRING 함수를 사용하는 예입니다.
RANK
RANK는 그룹별로 로우를 정렬한 후 그룹 내의 각 로우의 순위를 반환하는 함수입니다. 분석 함수로도 사용 할 수 있습니다.
순위의 데이터 타입은 NUMBER입니다. 순위를 산정할 때 동률이 나타났을 경우는 동률인 모든 로우에 대해 같은 순위가 부여됩니다. 그 다음 부여되는 순위는 같은 순위가 부여된 로우의 개수만큼 증가된 값이 부여된 다. 따라서 순위는 연속된 숫자가 아닐 수도 있습니다.
계산 방법은 다음과 같이 함수에 따라 달라집니다.
집계 함수
파라미터 값으로 구성된 가상의 로우에 대한 순위 값을 계산
파라미터는 각 그룹마다 상수 값을 가져야 하며 order_by_clause의 표현식과 대응되어야 함
분석 함수
각 로우의 그룹 내 순위를 반환
순위는 order_by_clause 내의 expr 값을 기준으로 정렬한 결과가 부여됨
RANK의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
수치 값을 반환하는 임의의 연산식
ASC
ORDER BY ASC는 결과를 오름차순으로 정렬 (기본값)
DESC
ORDER BY DESC는 결과를 내림차순으로 정렬
partition_by
현재 질의 블록의 결과 집합을 expr 또는 expr의 리스트를 기준으로 분할
자세한 내용은 “분석 함수”의 partition_by를 참고
예제
다음은 RANK 함수를 사용하는 예입니다.
분석 함수 예제
다음은 RANK 함수를 분석 함수로 사용하는 예입니다.
REGR_SLOPE
REGR_SLOPE는 임의의 수치 데이터 쌍의 집합에 가장 맞는 선형 방정식을 구하는 함수로, 집합함수와 분석함수로 사용됩니다.
입력으로 숫자 데이터 또는 숫자 데이터로 변환 가능한 데이터형을 갖습니다. 인자로 받은 종속변수(expr1) 또는 독립변수(expr2)의 값이 NULL이면 계산에서 제외됩니다. 모든 로우가 NULL의 쌍이면 NULL을 결과로 낸다.
REGR_SLOPE는 다음의 계산식으로 회귀 직선(Regression Line)의 기울기를 계산해서 결과를 반환합니다.
이때 VAR_POP의 결과가 0이면 최종 결과는 NULL이 됩니다.
REGR_SLOPE의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
수치 값을 반환하는 임의의 연산식
종속변수에 해당
expr2
수치 값을 반환하는 임의의 연산식
독립변수에 해당
예제
다음은 함수를 사용하는 예입니다.
REGR_INTERCEPT
REGR_INTERCEPT는 임의의 수치 데이터 쌍의 집합에 가장 맞는 선형 방정식을 구하기 위해 사용되는 함수, 집합 함수와 분석 함수로 사용됩니다.
입력으로 숫자 데이터 또는 숫자 데이터로 변환 가능한 데이터형을 갖습니다. 인자로 받은 종속변수(expr1) 또는 독립변수(expr2)의 값이 NULL이면 계산에서 제외되며 모든 로우가 NULL의 쌍이면 NULL을 결과로 낸다.
REGR_INTERCEPT는 다음의 계산식으로 회귀 직선의 Y 절편을 계산해서 결과를 반환합니다.
이때 REGR_SLOPE의 결과가 NULL이면 최종 결과는 NULL이 됩니다.
REGR_INTERCEPT의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
수치 값을 반환하는 임의의 연산식
종속변수에 해당
expr2
수치 값을 반환하는 임의의 연산식
독립변수에 해당
예제
다음은 함수를 사용하는 예입니다.
REGR_COUNT
REGR_COUNT는 임의의 수치 데이터 쌍의 집합에 가장 맞는 선형 방정식을 구하는 함수로, 집합 함수와 분석 함수로 사용됩니다.
입력으로 숫자 데이터 또는 숫자 데이터로 변환 가능한 데이터형을 갖습니다. 인자로 받은 종속변수(expr1) 또는 독립변수(expr2)의 값이 NULL이면 계산에서 제외되며 모든 로우가 NULL의 쌍이면 0을 결과로 낸 다. REGR_COUNT는 회귀 직선을 구성하는데 사용된 NULL이 아닌 (expr1, expr2) 쌍의 계수를 반환합니다.
REGR_COUNT의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
수치 값을 반환하는 임의의 연산식
종속변수에 해당
expr2
수치 값을 반환하는 임의의 연산식
독립변수에 해당
예제
다음은 함수를 사용하는 예입니다.
REGR_R2
REGR_R2는 임의의 수치 데이터 쌍의 집합에 가장 맞는 선형 방정식을 구하는 함수로, 집합 함수와 분석 함수로 사용됩니다.
입력으로 숫자 데이터 또는 숫자 데이터로 변환 가능한 데이터형을 갖습니다. 인자로 받은 종속변수(expr1) 또는 독립변수(expr2)의 값이 NULL이면 계산에서 제외되며 모든 로우가 NULL의 쌍이면 NULL을 결과로 낸다.
REGR_R2는 회귀에 대한 결정 계수(R-squared 또는 적합도)를 계산하는 함수로 VAR_POP(expr1)과 VAR_POP(expr2)의 값에 따라 아래와 같은 계산식을 이용합니다.
VAR_POP(expr2) = 0이면 : NULL
VAR_POP(expr1) = 0이고 VAR_POP(expr2) > 0이면 : 1
VAR_POP(expr1) > 0이고 VAR_POP(expr2) > 0이면 : POWER(CORR(expr1, expr2),2)
REGR_R2의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
수치 값을 반환하는 임의의 연산식
종속변수에 해당
expr2
수치 값을 반환하는 임의의 연산식
독립변수에 해당
예제
다음은 함수를 사용하는 예입니다.
REGR_AVGX
REGR_AVGX는 임의의 수치 데이터 쌍의 집합에 가장 맞는 선형 방정식을 구하는 함수로, 집합 함수와 분석 함수로 사용됩니다.
입력으로 숫자 데이터 또는 숫자 데이터로 변환 가능한 데이터형을 갖습니다. 인자로 받은 종속변수(expr1) 또는 독립변수(expr2)의 값이 NULL이면 계산에서 제외되며 모든 로우가 NULL의 쌍이면 NULL을 결과로 낸다. REGR_AVGX는 독립변수(expr2)의 평균을 계산합니다. 즉, NULL의 쌍을 제거한 후에 "AVG(expr2)"를 계산합니다.
REGR_AVGX의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
수치 값을 반환하는 임의의 연산식
종속변수에 해당
expr2
수치 값을 반환하는 임의의 연산식
독립변수에 해당
예제
다음은 함수를 사용하는 예입니다.
REGR_AVGY
REGR_AVGY는 임의의 수치 데이터 쌍의 집합에 가장 맞는 선형 방정식을 구하는 함수로, 집합 함수와 분석 함수로 사용됩니다.
입력으로 숫자 데이터 또는 숫자 데이터로 변환 가능한 데이터형을 갖습니다. 인자로 받은 종속변수(expr1) 또는 독립변수(expr2)의 값이 NULL이면 계산에서 제외되며 모든 로우가 NULL의 쌍이면 NULL을 결과로 낸다. REGR_AVGY는 종속변수(expr1)의 평균을 계산합니다. 즉, NULL의 쌍을 제거한 후에 "AVG(expr1)"를 계산합니다.
REGR_AVGY의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
수치 값을 반환하는 임의의 연산식입
종속변수에 해당
expr2
수치 값을 반환하는 임의의 연산식
독립변수에 해당
예제
다음은 함수를 사용하는 예입니다.
REGR_SXX
REGR_SXX는 임의의 수치 데이터 쌍의 집합에 가장 맞는 선형 방정식을 구하는 함수로, 집합 함수와 분 석 함수로 사용됩니다.
입력으로 숫자 데이터 또는 숫자 데이터로 변환 가능한 데이터형을 갖습니다. 인자로 받은 종속변수(expr1) 또는 독립변수(expr2)의 값이 NULL이면 계산에서 제외되며 모든 로우가 NULL의 쌍이면 NULL을 결과로 낸다.
REGR_SXX는 다음의 계산식으로 회귀 분석을 위한 진단 통계를 계산하는데 사용하는 보조 함수입니다.
REGR_SXX의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
수치 값을 반환하는 임의의 연산식
종속변수에 해당
expr2
수치 값을 반환하는 임의의 연산식
독립변수에 해당
예제
다음은 함수를 사용하는 예입니다.
REGR_SYY
REGR_SYY는 임의의 수치 데이터 쌍의 집합에 가장 맞는 선형 방정식을 구하는 함수로, 집합 함수와 분 석 함수로 사용됩니다.
입력으로 숫자 데이터 또는 숫자 데이터로 변환 가능한 데이터형을 갖습니다. 인자로 받은 종속변수(expr1) 또는 독립변수(expr2)의 값이 NULL이면 계산에서 제외되며 모든 로우가 NULL의 쌍이면 NULL을 결과로 낸다.
REGR_SYY는 회귀 분석을 위한 진단 통계를 계산하는데 사용하는 보조 함수입니다. 계산식은 다음과 같습니다.
REGR_SYY의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
수치 값을 반환하는 임의의 연산식
종속변수에 해당
expr2
수치 값을 반환하는 임의의 연산식
독립변수에 해당
예제
다음은 함수를 사용하는 예입니다.
REGR_SXY
REGR_SXY는 임의의 수치 데이터 쌍의 집합에 가장 맞는 선형 방정식을 구하는 함수로, 집합 함수와 분 석 함수로 사용됩니다.
입력으로 숫자 데이터 또는 숫자 데이터로 변환 가능한 데이터형을 갖습니다. 인자로 받은 종속변수(expr1) 또는 독립변수(expr2)의 값이 NULL이면 계산에서 제외되며 모든 로우가 NULL의 쌍이면 NULL을 결과로 낸다.
REGR_SXY는 회귀 분석을 위한 진단 통계를 계산하는데 사용하는 보조 함수입니다. 계산식은 다음과 같습니다.
REGR_SXY의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
수치 값을 반환하는 임의의 연산식
종속변수에 해당
expr2
수치 값을 반환하는 임의의 연산식
독립변수에 해당
예제
다음은 함수를 사용하는 예입니다.
RATIO_TO_REPORT
RATIO_TO_REPORT는 값의 집합의 합에 대한 집합 하나의 값의 비율을 계산하는 분석 함수입니다. 이 함 수는 expr 값이 NULL이면 반환값 역시 NULL입니다.
값의 집합은 partition_by에 의해 결정됩니다. partition_by의 값을 명시하지 않으면 질의 결과로 반환된 모든 행을 대상으로 계산을 실행합니다.
RATIO_TO_REPORT의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr은 수치 값을 반환하는 임의의 연산식
expr에 RATIO_TO_REPORT 함수를 포함한 다른 분석 함수를 명시할 수 없음
즉, 분석 함수를 중첩할 수 없음
그러나 다른 내장 함수는 expr에 명시할 수 있음
partition_by
현재 질의 블록의 결과 집합을 expr 또는 expr의 리스트를 기준으로 분할
자세한 내용은 “분석 함수”의 partition_by를 참고
예제
다음은 RATIO_TO_REPORT 함수를 사용하는 예입니다.
RAWTOHEX
RAWTOHEX는 문자열 raw 값을 16진수로 표현된 VARCHAR2 타입의 문자열로 바꾸는 함수입니다.
RAWTOHEX의 세부 내용은 다음과 같습니다.
문법

구성요소
raw
문자열 값을 반환하는 임의의 연산식
단, CLOB, BLOB, LONG, LONG RAW, XMLTYPE, GEOMETRY 등의 타입은 사용할 수 없음
예제
다음은 RAWTOHEX 함수를 사용하는 예입니다.
REGEXP_COUNT
REGEXP_COUNT는 입력 문자열 내에서 정규 표현식으로 주어진 패턴이 몇 번이나 일치하는지 반환하는 함수입니다.(이 기능은 ICU 정규 표현식 표준을 따른다).
REGEXP_COUNT의 세부 내용은 다음과 같습니다.
문법

구성요소
source_str
문자열을 반환하는 임의의 연산식
CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, NCLOB 타입을 사용할 수 있음
pattern
정규 표현식으로 작성된 문자열을 반환하는 임의의 연산식
CHAR, VARCHAR2, NCHAR, NVARCHAR2 타입을 사용할 수 있고, 만약 source_str과 타입이 다를 경우 source_str 타입으로 변환됨
position
숫자값을 반환하는 임의의 연산식으로 패턴검사를 시작할 위치를 지정 (기본값: 1)
match_param
문자열을 반환하는 임의의 연산식으로 패턴을 검사할 방법을 설정
다음과 같은 값을 사용할 수 있고, 여러 개를 동시에 지정할 수 있음
'i' : 대소문자를 구분하지 않음
'c' : 대소문자를 구분
'n' : 점(.)이 줄바꿈 문자도 포함
'm' : 입력문자열이 한줄 이상
'x' : pattern의 공백문자를 무시
예를 들어 'ic'와 같이 상호충돌하는 값을 지정하였을 경우엔 마지막 값만 사용
즉, 'ic'는 대소문자를 구분
예제
다음은 REGEXP_COUNT 함수를 사용하는 예입니다.
REGEXP_INSTR
REGEXP_INSTR는 입력 문자열 내에서 정규 표현식으로 주어진 패턴이 일치하는지 위치를 반환하는 함 수입니다. 만약 입력 문자열과 일치하지 않으면 0을 반환합니다(이 기능은 ICU 정규 표현식 표준을 따른다).
REGEXP_INSTR의 세부 내용은 다음과 같습니다.
문법

구성요소
sou (source_str)
문자열을 반환하는 임의의 연산식
CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, NCLOB 타입을 사용할 수 있음
pat (pattern)
정규 표현식으로 작성된 문자열을 반환하는 임의의 연산식
CHAR, VARCHAR2, NCHAR, NVARCHAR2 타입을 사용할 수 있고, 만약 source_str과 타입이 다를 경우 source_str 타입으로 변환됨
pos (position)
숫자값을 반환하는 임의의 연산식으로 패턴검사를 시작할 위치를 지정(기본값: 1)
occ (occurrence)
숫자값을 반환하는 임의의 연산식으로 패턴을 몇 번 검사할지를 지정 (기본값: 1)
ret (return_option)
숫자값을 반환하는 임의의 연산식
0 : 패턴과 일치하는 문자열의 처음 위치를 반환(기본값)
1 : 패턴과 일치하는 문자열 다음 문자열 위치를 반환
mat (match_param)
문자열을 반환하는 임의의 연산식으로 패턴을 어떤 방법으로 검사할지를 지정
REGEXP_COUNT 함수와 같은 특성을 가짐
sub (sub_expr)
숫자값을 반환하는 임의의 연산식으로 0부터 9까지 사용할 수 있음(기본값: 0)
sub_expr은 pattern에서 괄호로 감싸진 각 그룹들을 왼쪽부터 순서대로 지정
예를 들어 다음과 같은 정규표현식이 주어졌을 때 모두 4개의 그룹이 존재
\n(tibero(is(a)(rdbms)))\n왼쪽부터 "tiberoisardbms", "isardbms", "a", "rdbms"이며 각 1, 2, 3, 4에 해당
예제
다음은 REGEXP_INSTR 함수를 사용하는 예입니다.
REGEXP_REPLACE
REGEXP_REPLACE는 입력 문자열내에서 정규 표현식으로 주어진 패턴을 탐색하여 다른 문자열로 대 치하는 함수입니다(이 기능은 ICU 정규 표현식 표준을 따른다). 결과 타입은 첫 번째 인자의 타입과 동일하 다.
REGEXP_REPLACE의 세부 내용은 다음과 같습니다.
문법

구성요소
sou (source_str)
문자열을 반환하는 임의의 연산식
CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, NCLOB 타입을 사용할 수 있음
pat (pattern)
정규 표현식으로 작성된 문자열을 반환하는 임의의 연산식
CHAR, VARCHAR2, NCHAR, NVARCHAR2 타입을 사용할 수 있고, 만약 source_str과 타입이 다를 경우 source_str 타입으로 변환됨
rep (replace_str)
문자열을 반환하는 임의의 연산식
CHAR, VARCHAR2, NCHAR, NVARCHAR2 타입을 사용할 수 있고, 만약 source_str과 타입이 다를 경우 source_str 타입으로 변환됨
pos (position)
숫자값을 반환하는 임의의 연산식으로 패턴검사를 시작할 위치를 지정(기본값: 1)
occ (occurrence)
숫자값을 반환하는 임의의 연산식으로 패턴을 몇 번 검사할지를 지정(기본값: 1)
mat (match_param)
문자열을 반환하는 임의의 연산식으로 패턴을 어떤 방법으로 검사할지를 지정
REGEXP_COUNT 함수와 같은 특성을 가짐
예제
다음은 REGEXP_REPLACE 함수를 사용하는 예입니다.
REGEXP_SUBSTR
REGEXP_SUBSTR는 입력 문자열내에서 정규 표현식으로 주어진 패턴을 탐색하여 해당 문자열을 반환 하는 함수입니다(이 기능은 ICU 정규 표현식 표준을 따른다). 결과 타입은 첫 번째 인자의 타입과 동일합니다.
REGEXP_SUBSTR의 세부 내용은 다음과 같습니다.
문법

구성요소
sou
문자열을 반환하는 임의의 연산식
(source_str)
CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, NCLOB 타입을 사용할 수 있음
pat (pattern)
정규 표현식으로 작성된 문자열을 반환하는 임의의 연산식
CHAR, VARCHAR2, NCHAR, NVARCHAR2 타입을 사용할 수 있고, 만약 source_str과 타입이 다를 경우 source_str 타입으로 변환
pos (position)
숫자값을 반환하는 임의의 연산식으로 패턴검사를 시작할 위치를 지정 (기본값: 1)
occ (occurrence)
숫자값을 반환하는 임의의 연산식으로 패턴을 몇 번 검사할지를 지정 (기본값: 1)
mat (match_param)
문자열을 반환하는 임의의 연산식으로 패턴을 어떤 방법으로 검사할지를 지정
REGEXP_COUNT 함수와 같은 특성을 가짐
sub (sub_expr)
숫자값을 반환하는 임의의 연산식으로 0부터 9까지 사용할 수 있음(기본값: 0)R
EGEXP_INSTR 함수와 같은 특성을 가짐
sou
문자열을 반환하는 임의의 연산식
예제
다음은 REGEXP_SUBSTR 함수를 사용하는 예입니다.
REMAINDER
REMAINDER은 num1을 num2로 나눈 나머지를 반환하는 함수입니다.
REMAINDER의 세부 내용은 다음과 같습니다.
문법

구성요소
num1, num2
num1이나 num2는 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어함야
num1이나 num2은 두 타입 중 숫자형 우선순위에 따라 더 높은 순위의 타입으로 변환되고, 또한 그 타입으로 반환됨
예제
다음은 REMAINDER 함수를 사용하는 예입니다.
REPLACE
REPLACE는 문자열 str 내에서 문자열 substr을 탐색하여 문자열 replace_str로 치환하는 함수입니다.
REPLACE의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
substr
문자열을 반환하는 임의의 연산식
만약 substr이 NULL이면 str을 그대로 반환
replace_str
문자열을 반환하는 임의의 연산식
만약 replace_str이 NULL이거나 지정되지 않으면, str 내의 모든 substr은 제거됨
예제
다음은 REPLACE 함수를 사용하는 예입니다.
REVERSE
REVERSE는 주어진 문자열을 거꾸로 출력하는 함수입니다.
REVERSE의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
예제
다음은 REVERSE 함수를 사용하는 예입니다.
ROUND(number)
ROUND(number)는 num1을 소수점 아래 num2+1 위치에서 반올림한 값을 반환하는 함수입니다.
ROUND(number)의 세부 내용은 다음과 같습니다.
문법

구성요소
num1
수치 값을 반환하는 임의의 연산식
num2
수치 값을 반환하는 임의의 연산식
num2는 정수가 되어야 함
만약 num2가 지정되지 않았거나 0이면 소수점 첫째 자리에서 반올림
num2가 음수이면 소수점 위의 자리에서 반올림
예제
다음은 ROUND(number) 함수를 사용하는 예입니다.
ROUND(date)
ROUND(date)는 date를 format에 명시된 단위로 반올림한 결과를 반환하는 함수입니다.
ROUND(date)의 세부 내용은 다음과 같습니다.
문법

구성요소
date
날짜를 반환하는 임의의 연산식
format
반환할 단위를 명시하는 포맷 문자열을 나타내는 문자열
format이 명시되지 않으면 'DD' 형식의 문자열을 이용하여 가장 가까운 날로 반올림
format으로 'YEAR', 'MONTH', 'DAY' 등을 사용할 수 있음
ROUND함수의 format에 명시할 수 있는 형식 문자열은 다음과 같음
CC, SCC : 연 수치 중 에서 2자리로 반올림/내림할 때 그 날짜.(예: xx01년)
IYY, IYYY, IY, I : ISO year 값에 대해 7월 1일 전/후로 반올림 또는 버림을 함
SYYYY, YYYY, YYY, YY, Y, YEAR, SYEAR : year 값에 대해 7월 1일 전/후로 반올림 또는 버림을 함
Q : quarter 값에 대해 각 quarter의 두 번째 달의 16일부터 전/후로 반올림 또는 버림을 함
MONTH, MON, MM, RM : month 값에 대해 16일부터 전/후로 반올림 또는 버림을 함
WW : 그 해의 첫 번째 날짜(1월 1일)를 한 주의 시작으로 해서, week 값에 대해 반올림 또는 버림을 함
IW : 그 주의 월요일을 한 주의 시작으로 해서, week 값에 대해 반올림 또는 버림을 함
W : 그 달의 첫 번째 날짜(1일)과 같은 요일이 되도록 week 값에 대해 반올림 또는 버림을 함
DDD, DD, J : day 값에 대해 오후 12시 전/후로 반올림 또는 버림을 함
DAY, DY, D : week 값에 대해 수요일 오후 12시 전/후로 반올림 또는 버림 을 함
HH24, HH12, HH : hour 값에 대해 30분 전/후로 반올림 또는 버림을 함
MI : minute 값에 대해 30초 전/후로 반올림 또는 버림을 함
예제
다음은 ROUND(date) 함수를 사용하는 예입니다.
ROWIDTOCHAR
ROWIDTOCHAR는 ROWID의 값을 VARCHAR 타입의 값으로 변환하는 함수입니다.
ROWIDTOCHAR의 세부 내용은 다음과 같습니다.
문법

구성요소
rowid
VARCHAR 타입으로 변환할 값
예제
다음은 ROWIDTOCHAR 함수를 사용하는 예입니다.
ROW_NUMBER
ROW_NUMBER는 함수가 적용된 모든 로우(파티션의 모든 로우 또는 질의에 의해 반환되는 모든 로우) 에 대하여 order_by_clause에 명시된 순서대로 1부터 시작되는 유일한 번호를 부여하는 분석 함수입니다.
ROW_NUMBER 함수를 사용하여 top-N, bottom-N, inner-N 보고를 구현할 수 있습니다. 일관된 결과를 얻기 위해서는 질의는 결정된 정렬 순서를 보장하여야 합니다.
ROW_NUMBER의 세부 내용은 다음과 같습니다.
문법

구성요소
partition_by
현재 질의 블록의 결과 집합을 expr 또는 expr의 리스트를 기준으로 분할
자세한 내용은 “분석 함수”의 partition_by를 참고
order_by_clause
분할된 하나의 파티션 내에서 로우를 어떻게 정렬할지를 명시
자세한 내용은 “분석 함수”의 order_by_clause를 참고
예제
다음은 ROW_NUMBER 함수를 사용하는 예입니다.
RPAD
RPAD는 expr2를 expr1의 오른쪽에 반복적으로 붙인 길이가 num인 문자열을 구하는 함수입니다.
대부분의 문자 집합에서는 반환되는 문자열의 문자의 수와 길이가 동일하지만, 한글과 같은 멀티 바이트 문자 집합의 경우에는 두 값이 다를 수 있습니다.
RPAD의 세부 내용은 다음과 같습니다.
문법

구성요소
expr1
문자열 또는 CLOB 타입, BLOB 타입을 반환하는 임의의 연산식
expr1의 길이가 num 보다 크면, expr1에서 왼쪽부터 num만큼의 문자열을 반환
expr2
문자열 또는 CLOB 타입, BLOB 타입을 반환하는 임의의 연산식
.expr2가 명시되지 않으면 공백 문자가 사용됨
num
수치 값을 반환하는 임의의 연산식
num은 터미널에 출력되는 길이를 의미
예제
다음은 RPAD 함수를 사용하는 예입니다.
RTRIM
RTRIM은 문자열 str의 오른쪽으로부터 문자열 char_set 내에 포함된 모든 문자를 제거하는 함수입니다.
RTRIM의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
char_set
문자열을 반환하는 임의의 연산식
만약 파라미터 char_set의 값이 없으면, 디폴트 값으로 공백 문자 하나를 가짐
예제
다음은 RTRIM 함수를 사용하는 예입니다.
SESSIONTIMEZONE
SESSIONTIMEZONE는 현재 세션의 시간대를 출력하는 함수입니다.
SESSIONTIMEZONE의 세부 내용은 다음과 같습니다.
문법

예제
다음은 SESSIONTIMEZONE 함수를 사용하는 예입니다.
SIGN
SIGN은 num이 음수이면 -1을 반환하고, 0이면 0을 양수이면 +1을 반환하는 함수입니다.
SIGN의 세부 내용은 다음과 같습니다.
문법

구성요소
num
수치 값을 반환하는 임의의 연산식
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 하고, 반환 타입은 NUMBER
num이 NUMBER 타입인 경우 반환값
0보다 작은 경우 : -1
0인 경우 : 0
0보다 큰 경우 : 1
num이 BINARY_FLOAT이거나 BINARY_DOUBLE 타입인 경우 반환값
0보다 작은 경우 : -1
0보다 같거나 큰 경우 또는 NaN(Not A Number)인 경우 : 1
예제
다음은 SIGN 함수를 사용하는 예입니다.
SIN
SIN은 주어진 파라미터 값의 사인(sine) 값을 구합니다.
SIN의 세부 내용은 다음과 같습니다.
문법

구성요소
num
실수 값을 반환하는 임의의 연산식(단위: 라디안)
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
만약 num의 타입이 BINARY_FLOAT일 경우엔 BINARY_DOUBLE 타입을 반환하고, 그렇지 않은 경우엔 num과 동일한 숫자형 타입을 반환
예제
다음은 SIN 함수를 사용하는 예입니다.
SINH
SINH은 주어진 파라미터 값의 하이퍼볼릭 사인 값을 구하는 함수입니다.
SINH의 세부 내용은 다음과 같습니다.
문법

구성요소
num
실수 값을 반환하는 임의의 연산식(단위: 라디안)
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
만약 num의 타입이 BINARY_FLOAT일 경우엔 BINARY_DOUBLE 타입을 반환하고, 그렇지 않은 경우엔 num과 동일한 숫자형 타입을 반환
예제
다음은 SINH 함수를 사용하는 예입니다.
SKEW
SKEW는 expr의 왜도를 반환하는 함수입니다. 이 함수는 모든 수치 데이터 타입과 수치 데이터 타입은 아니 지만 묵시적으로 수치 데이터 타입으로 변환할 수 있는 데이터 타입을 파라미터로 받아 들인다. 입력된 파 라미터의 수치 데이터 타입 또는 변환된 수치 데이터 타입을 반환합니다.
SKEW의 세부 내용은 다음과 같습니다.
문법

구성요소
set_quantifier
질의 결과에 중복된 로우의 허용, 비허용 여부를 지정
DISTINCT, UNIQUE, ALL을 지정할 수 있습니다
DISTINCT, UNIQUE : 중복된 로우를 제거
ALL : 모든 로우를 선택(기본값)
expr
측정할 연산식을 명시
예제
다음은 SKEW 함수를 사용하는 예입니다.
SQRT
SQRT는 주어진 파라미터 값의 제곱근(Square Root)을 구하는 함수입니다.
SQRT의 세부 내용은 다음과 같습니다.
문법

구성요소
num
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 하고, num과 동일한 타입을 반환
num이 NUMBER 타입인 경우 num은 음수가 될 수 없
num이 BINARY_FLOAT이거나 BINARY_DOUBLE 타입인 경우 반환값
num이 0보다 크거나 같은 경우 양의 실수
num이 0보다 작은 경우 NaN(Not A Number)
예제
다음은 SQRT 함수를 사용하는 예입니다.
STATS_MODE
STATS_MODE는 expr의 최빈값을 반환하는 함수입니다. 만약 최빈값이 여러 개이면 그 중 한 개의 값을 반 환합니다. NULL은 최빈값이 될 수 없으나 모든 값이 NULL이면 NULL을 반환합니다.
STATS_MODE의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
수치 값을 반환하는 임의의 연산식
예제
다음은 STATS_MODE 함수를 사용하는 예입니다.
STDDEV
STDDEV는 expr의 표본 표준편차를 반환하는 함수입니다. 분석 함수로도 사용할 수 있습니다. Tibero는 표준편 차의 값을 VARIANCE 집합 함수 값의 제곱근으로 계산합니다.
이 함수는 모든 수치 데이터 타입과 수치 데이터 타입은 아니지만 묵시적으로 수치 데이터 타입으로 변환 할 수 있는 데이터 타입을 파라미터로 받아 들인다. 입력된 파라미터의 수치 데이터 타입 또는 변환된 수 치 데이터 타입을 반환합니다.
STDDEV_SAMP 함수와 STDDEV 함수의 차이점은 입력 데이터의 크기가 단 하나의 로우일 경우 STDDEV 함수는 0을 반환하는 반면 STDDEV_SAMP 함수는 NULL 값을 반환한다는 것입니다.
STDDEV의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
수치 값을 반환하는 임의의 연산식
analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용 은 “분석 함수”의 analytic_clause를 참고합니다.
예제
다음은 STDDEV 함수를 사용하는 예입니다.
분석 함수 예제
다음은 STDDEV 함수를 분석 함수로 사용하는 예입니다.
STDDEV_POP
STDDEV_POP는 expr의 모표준편차를 반환하는 함수입니다. 분석 함수로도 사용할 수 있습니다. Tibero는 모표 준편차의 값을 VARIANCE_POP 집합 함수 값의 제곱근으로 계산합니다. 이 함수는 파라미터의 수치 데이 터 타입 또는 변환된 수치 데이터 타입을 반환합니다.
STDDEV_POP의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
수치 데이터 타입 또는 수치 데이터 타입은 아니지만 묵시적으로 수치 데이터 타입으로 변환할 수 있는 데이터 타입을 갖는 임의의 연산식
analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용 은 “분석 함수”의 analytic_clause를 참고
예제
다음은 STDDEV_POP 함수를 사용하는 예입니다.
분석 함수 예제
다음은 STDDEV_POP 함수를 분석 함수로 사용하는 예입니다.
STDDEV_SAMP
STDDEV_SAMP는 expr의 누적 표본 표준편차를 반환하는 함수입니다. 분석 함수로도 사용할 수 있습니다. Tibero 는 누적 표본 표준편차의 값을 VARIANCE_SAMP 집합 함수 값의 제곱근으로 계산합니다. 이 함수는 파라 미터의 수치 데이터 타입 또는 변환된 수치 데이터 타입을 반환합니다.
STDDEV_SAMP의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
수치 데이터 타입 또는 수치 데이터 타입은 아니지만 묵시적으로 수치 데이터 타 입으로 변환할 수 있는 데이터 타입을 갖는 임의의 연산식
analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용 은 “분석 함수”의 analytic_clause를 참고
예제
다음은 STDDEV_SAMP 함수를 사용하는 예입니다.
분석 함수 예제
다음은 STDDEV_SAMP 함수를 분석 함수로 사용하는 예입니다.
SUBSTR
SUBSTR은 문자열 str 내의 position 위치로부터 length 길이의 문자열을 추출하여 반환하는 함수입니다. 추 가로 SUBSTRB 함수는 SUBSTR 함수와 동일하지만, 위치를 계산할 때 문자가 아닌 byte를 단위로 사용 합니다.
SUBSTR의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
문자열 내의 문자의 위치는 1부터 시작됨
position
정수 값을 반환하는 임의의 연산식
문자열 내의 문자의 위치는 1부터 시작됨
만약 position이 0이면 1로 처리하고, position이 0보다 작으면 문자열 str의 뒤에서부터 추출함
length
정수 값을 반환하는 임의의 연산식
문자열 내의 문자의 위치는 1부터 시작됨
만약 length가 지정되지 않으면 str의 position 위치에서부터 마지막까지 문자열을 추출하며, length가 1보다 작으면 NULL을 반환
예제
다음은 SUBSTR 함수를 사용하는 예입니다.
SUM
SUM은 그룹 내의 모든 로우에 대한 expr 값의 합계를 구하는 함수입니다. 분석 함수로도 사용할 수 있습니다.
이 함수를 분석 함수로 사용할 때 DISTINCT 예약어를 명시하면 analytic_clause에서 partition_by만 명시 할 수 있습니다. order_by_clause는 명시할 수 없습니다.
SUM의 세부 내용은 다음과 같습니다.
문법

구성요소
set_quantifier
질의 결과에 중복된 로우의 허용, 비허용 여부를 지정
DISTINCT, UNIQUE, ALL을 지정할 수 있음
DISTINCT, UNIQUE : 중복된 로우를 제거
ALL : 모든 로우를 선택(기본값)
expr
임의의 연산식
expr 앞에 DISTINCT 예약어를 포함하면, 합계를 구하기 전에 expr 값 중에서 중복된 것을 먼저 제거
analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용은 “분석 함수”의 analytic_clause를 참고
예제
다음은 SUM 함수를 사용하는 예입니다.
분석 함수 예제
다음은 SUM 함수를 분석 함수로 사용하는 예입니다.
SYS_CONNECT_BY_PATH
SYS_CONNECT_BY_PATH는 루트(Root)에서 노드(Node)까지의 컬럼 값의 경로(Path)를 반환하는 함수 입니다. 이 함수는 계층 질의에 대해서만 유효합니다. 반환된 경로에서 컬럼 값은 char에 의해 분리됩니다.
SYS_CONNECT_BY_PATH의 세부 내용은 다음과 같습니다.
문법

구성요소
expr, char
expr, char 모두 CHAR, VARCHAR2, NCHAR, NVARCHAR2 중에서 어느 타입이어도 됨
반환된 문자열은 VARCHAR2 타입이며, 컬럼과 같은 문자 집합
예제
다음은 SYS_CONNECT_BY_PATH 함수를 사용하는 예입니다.
SYS_CONTEXT
SYS_CONTEXT는 문맥 네임스페이스(CONTEXT NAMESPACE)와 관련된 파라미터의 값을 반환하는 함수입니다. 문맥 네임스페이스와 파라미터는 문자열이나 표현식으로 정의할 수 있으며, 함수의 반환값은 VARCHAR 타입입니다.
Tibero에서 디폴트로 제공하고 있는 문맥 네임스페이스는 USERENV입니다.
USERENV 파라미터
CLIENT_IDENTIFIER
DBMS_SESSION.SET_IDENTIFIER 프러시저에 의해 정의된 클라이언트 식별자를 반환
CURRENT_SCHEMA
현재 활성화된 스키마 이름을 반환
이 값은 ALTER SESSION SET CURRENT_SCHEMA 구문에 의해 변경될 수 있음
CURRENT_SCHEMAID
현재 활성화된 스키마 식별번호를 반환
CURRENT_SQL
현재 수행 중인 SQL 문장을 반환
DB_NAME
DB_NAME 초기화 파라미터에 의해 정의된 데이터베이스의 이름을 반환
HOST
클라이언트가 실행 중인 장비의 이름을 반환
INSTANCE_NAME
현재 인스턴스의 이름을 반환
INSTANCE
현재 인스턴스의 식별번호를 반환
IP_ADDR[ESS]
클라이언트의 IP 주소를 반환
LANG
'LANGUAGE' 파라미터의 약어를 반환
LANGUAGE
현재 세션의 지역, 언어, 데이터베이스의 문자집합 이름을 언어_지역.문 집합 형식으로 반환
MODULE
DBMS_APPLICATION_INFO.SET_MODULE 프러시저에 의해 정의된 모듈 이름을 반환
NETWORK_PROTOCOL
양방향 통신을 위한 네트워크 프로토콜의 이름을 반환
OS_USER
클라이언트 프로세스의 OS 사용자 이름을 반환
SCHEMA
클라이언트의 접속 스키마 이름을 반환
SCHEMAID
클라이언트의 접속 사용자 식별번호를 반환
SERVER_ADDRESS
현재 인스턴스가 실행 중인 장비의 IP 주소를 반환
OS에서 관리 중인 IP 주소 리스트의 첫번째 값을 반환하기 때문에, 네트워크 환경 구 성이 변경됨에 따라 값이 변화할 수 있음
값을 고정하고 싶은 경우 LIS TENER_IP를 설정해주어야 함
SERVER_HOST
현재 인스턴스가 실행 중인 장비의 이름을 반환
SESSION_USER
클라이언트의 접속 사용자 이름을 반환
SESSIONID
세션 감시 식별번호를 반환
TERMINAL
클라이언트의 OS 식별자를 반환
TID, SID
현재 세션 식별번호를 반환
사용자 지정 문맥 네임스페이스는 CREATE CONTEXT DDL 구문을 사용하여 생성할 수 있습니다. 또한 이 SYS_CONTEXT 가 해당 네임스페이스의 각 파라미터에 따라 반환할 값은 DBMS_SESSION.SET_CON TEXT 프러시저를 통해 설정할 수 있습니다.
SYS_CONTEXT의 세부 내용은 다음과 같습니다.
문법

구성요소
namespace
문맥 네임스페이스를 정의하는 값
param
문맥 네임스페이스와 관련된 파라미터 이름
예제
다음은 SYS_CONTEXT 함수를 사용하는 예입니다.
다음은 지정된 패키지를 통해 ctx0 네임스페이스의 attr0 파라미터 값이 설정되었을 경우 그 값을 SYS_CONTEXT 함수를 통해 출력하는 예입니다.
SYS_EXTRACT_UTC
SYS_EXTRACT_UTC는 시간대 정보를 포함하는 시간값을 UTC (Coordinated Universal Time) 시간대로 변환하여 반환하는 함수입니다.
SYS_EXTRACT_UTC의 세부 내용은 다음과 같습니다.
문법

구성요소
datetime_with_timezone
시간대 정보를 포함한 시간값을 반환하는 임의의 연산식
예제
다음은 SYS_EXTRACT_UTC 함수를 사용하는 예입니다.
SYS_GUID
SYS_GUID는 시스템 전체에서 유일한 값을 반환하는 함수입니다. 반환값은 16bytes이고 스레드 번호, 호스 트 이름, 접속 시간, 시퀀스 번호등의 조합으로 이루어진 RAW 타입의 값입니다.
SYS_GUID의 세부 내용은 다음과 같습니다.
문법

예제
다음은 SYS_GUID 함수를 사용하는 예입니다.
SYSDATE
SYSDATE는 현재의 날짜와 시간을 반환하는 함수입니다. 이 함수는 파라미터가 없으며, 괄호가 따라오지 않습니다. 이 함수의 반환값은 DATE 타입입니다.
SYSDATE의 세부 내용은 다음과 같습니다.
문법

예제
다음은 SYSDATE 함수를 사용하는 예입니다.
SYSTIME
SYSTIME은 현재 시간을 반환하는 함수입니다. 이 함수는 파라미터가 없으며, 괄호가 따라 오지 않습니다. 이 함수의 반환값은 TIME 타입입니다.
SYSTIME의 세부 내용은 다음과 같습니다.
문법

예제
다음은 SYSTIME 함수를 사용하는 예입니다.
SYSTIMESTAMP
SYSTIMESTAMP는 현재의 날짜와 시간 및 시간대를 반환하는 함수입니다. 이 함수의 반환값은 TIMESTAMP WITH TIME ZONE 타입입니다.
SYSTIMESTAMP의 세부 내용은 다음과 같습니다.
문법

예제
다음은 SYSTIMESTAMP 함수를 사용하는 예입니다.
TAN
TAN는 주어진 파라미터의 탄젠트(Tangent) 값을 구하는 함수입니다.
TAN의 세부 내용은 다음과 같습니다.
문법

구성요소
num
실수 값을 반환하는 임의의 연산식(단위: 라디안)
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
만약 num의 타입이 BINARY_FLOAT일 경우엔 BINARY_DOUBLE 타입을 반환하고, 그렇지 않은 경우엔 num과 동일한 숫자형 타입을 반환
예제
다음은 TAN 함수를 사용하는 예입니다.
TANH
TANH는 주어진 파라미터의 하이퍼볼릭 탄젠트 값을 구하는 함수입니다.
TANH의 세부 내용은 다음과 같습니다.
문법

구성요소
num
실수 값을 반환하는 임의의 연산식 (단위: 라디안)
num은 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
만약 num의 타입이 BINARY_FLOAT일 경우엔 BINARY_DOUBLE 타입을 반환하고, 그렇지 않은 경우엔 num과 동일한 숫자형 타입을 반환
예제
다음은 TANH 함수를 사용하는 예입니다.
TIMESTAMP_TO_TSN
TIMESTAMP_TO_TSN은 주어진 시간값과 가장 근접한 TSN값을 반환하는 함수입니다.
TIMESTAMP_TO_TSN의 세부 내용은 다음과 같습니다.
문법

구성요소
timestamp
시간 값을 반환하는 임의의 연산식
예제
다음은 TIMESTAMP_TO_TSN 함수를 사용하는 예입니다.
TO_BINARY_DOUBLE
TO_BINARY_DOUBLE은 연산식 expr을 format에 따라 BINARY_DOUBLE 타입의 값으로 변환하여 반환 하는 함수입니다.
TO_BINARY_DOUBLE의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
문자열이나 수치값을 반환하는 임의의 연산식
다음과 같은 특수한 문자열 값을 지원하고, 대소문자는 구분하지 않음
'INF'는 양의 무한대로 변환
'-INF'는 음의 무한대로 변환
'NaN'은 NaN(Not A Number)로 변환
부동 소수점 타입을 나타내는 접미사 f, F, d, D는 사용할 수 없음
format
숫자형 타입의 형식 문자열
만약 format이 지정되지 않으면 디폴트 형식으로 변환을 수행
format은 expr이 문자열인 경우에만 유효
예제
다음은 TO_BINARY_DOUBLE 함수를 사용하는 예입니다.
TO_BINARY_FLOAT
TO_BINARY_FLOAT는 연산식 expr을 format에 따라 BINARY_FLOAT 타입의 값으로 변환하여 반환하 는 함수입니다.
TO_BINARY_FLOAT의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
문자열이나 수치값을 반환하는 임의의 연산식
다음과 같은 특수한 문자열 값을 지원하고, 대소문자는 구분하지 않음
'INF'는 양의 무한대로 변환
'-INF'는 음의 무한대로 변환
'NaN'은 NaN(Not A Number)로 변환
부동 소수점 타입을 나타내는 접미사 f, F, d, D는 사용할 수 없습니다.
format
숫자형 타입의 형식 문자열
만약 format이 지정되지 않으면 디폴트 형식으로 변환을 수행
format은 expr이 문자열인 경우에만 유효
예제
다음은 TO_BINARY_FLOAT 함수를 사용하는 예입니다.
TO_BLOB
TO_BLOB은 파라미터로 주어진 raw를 BLOB 타입으로 변환하는 함수입니다.
TO_BLOB의 세부 내용은 다음과 같습니다.
문법

구성요소
raw_value
RAW type을 반환하는 임의의 연산식
예제
다음은 TO_BLOB 함수를 사용하는 예입니다.
TO_CHAR(character)
TO_CHAR(character)는 CLOB 타입의 데이터를 데이터베이스 문자 집합을 사용한 문자열로 변환해 주 는 함수입니다.
TO_CHAR(character)의 세부 내용은 다음과 같습니다.
문법

구성요소
clob
문자열로 변환할 CLOB 타입의 데이터
예제
다음은 TO_CHAR(character) 함수를 사용하는 예입니다.
TO_CHAR(datetime)
TO_CHAR(datetime)은 파라미터로 주어진 날짜형 데이터 타입과 간격 리터럴의 값을 format에 따라 문 자열로 변환하여 반환하는 함수입니다.
TO_CHAR(datetime)의 세부 내용은 다음과 같습니다.
문법

구성요소
date
날짜형의 값을 반환하는 임의의 연산식
format
날짜형 형식의 문자열
만약 format이 지정되지 않으면 디폴트 형식에 따라 문자열로 변환
날짜형 형식의 문자열은 “날짜형 타입”을 참고
예제
다음은 TO_CHAR(datetime) 함수를 사용하는 예입니다.
TO_CHAR(number)
TO_CHAR(number)는 파라미터로 주어진 숫자형 타입의 값을 format에 따라 문자열로 변환하여 반환하는 함수입니다.
TO_CHAR(number)의 세부 내용은 다음과 같습니다.
문법

구성요소
num
숫자형 타입의 값을 반환하는 임의의 연산식
format
숫자형 타입의 형식 문자열입
만약 format이 지정되지 않으면 디폴트로 모든 유효 숫자를 문자열로 변환
숫자형 타입의 형식 문자열은 “NUMBER 타입”을 참고
예제
다음은 TO_CHAR (number) 함수를 사용하는 예입니다.
TO_CLOB
TO_CLOB은 파라미터로 주어진 lob_column 또는 char을 CLOB 타입으로 변환하는 함수입니다.
TO_CLOB의 세부 내용은 다음과 같습니다.
문법

구성요소
lob_column
CHAR 타입, VARCHAR 타입 또는 CLOB 타입의 컬럼
char
문자열을 반환하는 임의의 연산식
예제
다음은 TO_CLOB 함수를 사용하는 예입니다.
TO_DATE
TO_DATE은 문자열 str을 format에 따라 DATE 타입의 값으로 변환하여 반환하는 함수입니다.
TO_DATE의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
format
날짜형 형식의 문자열
만약 format이 지정되지 않으면 디폴트 형식으로 변환을 수행
예제
다음은 TO_DATE 함수를 사용하여 DATE 타입의 데이터를 반환하는 예입니다.
TO_DSINTERVAL
TO_DSINTERVAL은 CHAR, VARCHAR2, NCHAR, NVARCHAR2 타입의 문자열을 INTERVAL DAY TO
SECOND 타입으로 변환하는 함수입니다.
TO_DSINTERVAL의 세부 내용은 다음과 같습니다.
문법

구성요소
days
0~999999999 사이의 정수
hours
0~23 사이의 정수
minutes, seconds
0~59 사이의 정수
frac_secs
0~999999999 사이의 정수
예제
다음은 TO_DSINTERVAL 함수를 사용하여 2008년 3월 20일을 기준으로 50일 전의 날짜를 구하는 예 입니다.
TO_LOB
TO_LOB은 LONG 값을 CLOB, LONG RAW 값을 BLOB 값으로 변환하는 함수입니다. LONG 또는 LONG RAW 타입의 컬럼만을 인자로 가지며 INSERT 문의 서브쿼리와 UPDATE 문의 컬럼 값을 갱신하는 서브 쿼리에만 사용할 수 있습니다.
TO_LOB의 세부 내용은 다음과 같습니다.
문법

구성요소
long_column
LONG 타입 또는 LONG RAW 타입의 컬럼
예제
다음은 TO_LOB 함수를 사용하는 예입니다.
TO_MULTI_BYTE
TO_MULTI_BYTE는 입력으로 들어온 파라미터 str의 값을 상응하는 MULTI-BYTE 문자로 변환하는 함수 입니다. 입력으로 올 수 있는 파라미터의 형식은 VARCHAR, CHAR, NCHAR, NVARCHAR 타입이고, 반환 형식은 입력 형식과 같습니다.
TO_MULTI_BYTE의 세부 내용은 다음과 같습니다.
문법

구성요소
str
MULTI-BYTE 문자로 변환할 값
예제
다음은 TO_MULTI_BYTE 함수를 사용하는 예입니다.
TO_NCHAR(character)
TO_NCHAR(character)는 CHAR, VARCHAR, CLOB, NCLOB 타입의 입력 값을 NATIONAL 문자 집합의 값으로 변환하는 함수입니다.
TO_NCHAR의 세부 내용은 다음과 같습니다.
문법

구성요소
str
NATIONAL 문자 집합으로 변환할 문자를 나타내는 값
예제
다음은 TO_NCHAR(character) 함수를 사용하는 예입니다.
TO_NCHAR(datetime)
TO_NCHAR(datetime)은 파라미터로 주어진 날짜형 데이터 타입과 간격 리터럴의 값을 format에 따라
NATIONAL 문자 집합의 값으로 변환하는 함수입니다.
TO_NCHAR(datetime)의 세부 내용은 다음과 같습니다.
문법

구성요소
date
NATIONAL 문자 집합으로 변환할 날짜형의 값을 나타냄
format
날짜형 형식의 문자열
만약 format이 지정되지 않으면 디폴트 형식에 따라 문자열로 변환
날짜형 형식의 문자열은 “날짜형 타입”을 참고
예제
다음은 TO_NCHAR(datetime) 함수를 사용하는 예입니다.
TO_NCHAR(number)
TO_NCHAR(number)는 파라미터로 주어진 숫자형 타입의 값을 format에 따라 NATIONAL 문자 집합의 값으로 변환하는 함수입니다.
TO_NCHAR(number)의 세부 내용은 다음과 같습니다.
문법

구성요소
num
NATIONAL 문자 집합으로 변환할 숫자형 타입을 나타내는 값
format
숫자형 타입의 형식 문자열
만약 format이 지정되지 않으면 디폴트로 모든 유효 숫자를 문자열로 변환
숫자형 타입의 형식 문자열은 “NUMBER 타입”을 참고
예제
다음은 TO_NCHAR(number) 함수를 사용하는 예입니다.
TO_NCLOB
TO_NCLOB은 파라미터로 주어진 lob_column 또는 char을 NCLOB 타입으로 변환하는 함수입니다.
TO_NCLOB의 세부 내용은 다음과 같습니다.
문법

구성요소
lob_column
CHAR 타입, VARCHAR 타입 또는 CLOB 타입의 컬럼
char
문자열을 반환하는 임의의 연산식
예제
다음은 TO_NCLOB 함수를 사용하는 예입니다.
TO_NUMBER
TO_NUMBER는 문자열 str을 format에 따라 NUMBER 타입의 값으로 변환하여 반환하는 함수입니다. NLS_NUMERIC_CHARACTERS는 그룹 구분 기호와 소숫점으로 사용할 문자를 지정합니다.
TO_NUMBER의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
format
숫자형 타입의 형식 문자열
만약 format이 지정되지 않으면 디폴트 형식으로 변환을 수행
NLS_NUMERIC_CHARACTERS
구분자와 소수점 지정
예제
다음은 TO_NUMBER 함수를 사용하는 예입니다.
TO_SINGLE_BYTE
TO_SINGLE_BYTE는 입력으로 들어온 파라미터 str의 값을 상응하는 SINGLE-BYTE 문자로 변환하는 함수입니다. 입력으로 올 수 있는 파라미터의 형식은 VARCHAR, CHAR, NCHAR, NVARCHAR 타입이고, 반환 형식은 입력 형식과 같습니다.
TO_SINGLE_BYTE의 세부 내용은 다음과 같습니다.
문법

구성요소
str
SINGLE-BYTE 문자로 변환할 값
예제
다음은 TO_SINGLE_BYTE 함수를 사용하는 예입니다.
TO_TIME
TO_TIME은 문자열 str을 format에 따라 TIME 타입의 값으로 변환하여 반환하는 함수입니다.
TO_TIME의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
format
날짜형 형식의 문자열
만약 format이 지정되지 않으면 디폴트 형식으로 변환을 수행
예제
다음은 TO_TIME 함수를 사용하는 예입니다.
TO_TIMESTAMP
TO_TIMESTAMP는 문자열 str을 format에 따라 TIMESTAMP 타입의 값으로 변환하여 반환하는 함수입니다.
TO_TIMESTAMP의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
format
날짜형 형식의 문자열입
만약 format이 지정되지 않으면 디폴트 형식으로 변환을 수행
예제
다음은 TO_TIMESTAMP 함수를 사용하는 예입니다.
TO_TIMESTAMP_TZ
TO_TIMESTAMP_TZ는 문자열 str을 format에 따라 TIMESTAMP WITH TIME ZONE 타입의 값으로 변환 하여 반환하는 함수입니다.
TO_TIMESTAMP_TZ의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
만약 문자열에 시간대 정보가 포함되지 않 은 경우 세션의 디폴트 시간대를 사용
format
날짜형 형식의 문자열
만약 format이 지정되지 않으면 디폴트 형식으로 변환을 수행
예제
다음은 TO_TIMESTAMP_TZ 함수를 사용하는 예입니다.
TO_YMINTERVAL
TO_YMINTERVAL은 CHAR, VARCHAR2, NCHAR, NVARCHAR2 타입의 문자열을 INTERVAL YEAR
TO MONTH 타입으로 변환하는 함수입니다.
TO_YMINTERVAL의 세부 내용은 다음과 같습니다.
문법

구성요소
years
0~999999999 사이의 정수
months
0~11 사이의 정수
예제
다음은 TO_YMINTERVAL 함수를 사용하여 2008년 3월 20일을 기준으로 2년 7개월 이후의 날짜를 구 하는 예입니다.
TRANSLATE
TRANSLATE는 문자열 str 내의 각각의 문자가 문자열 from_str에 포함되어 있습니다면, 해당 문자를 문자열 from_str에서의 위치와 동일한 위치에 있는 문자열 to_str의 문자로 변환시키는 함수입니다.
TRANSLATE의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
from_str
문자열을 반환하는 임의의 연산식
문자열 from_str의 길이가 문자열 to_str의 길이보다 긴 경우 문자열 from_str 내에는 to_str 대응되지 않는 문자가 포함됨
만약 이렇게 to_str과 대응되지 않는 from_str의 문자가 문자열 str에 포함되어 있습니다면 해당 문자는 모두 제거됨
to_str
문자열을 반환하는 임의의 연산식입니다.
예제
다음은 TRANSLATE 함수를 사용하는 예입니다.
TRIM
TRIM은 문자열 str의 앞과 뒤에서 trim_character와 같은 문자를 모두 제거하는 함수입니다.
TRIM의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
LEADING
trim_character 앞에 LEADING이 오면 str의 앞에서만 문자를 제거
TRAILING
trim_character 앞에 TRAILING이 오면 str의 뒤에서만 문자를 제거
BOTH
trim_character 앞에 BOTH가 오거나 아무 것도 오지 않으면 str의 앞과 뒤에서 문자를 제거
trim_character
trim_character는 길이가 1인 문자
trim_character가 지정되지 않으면 공백 문자(스페이스)를 제거하게 됨
예제
다음은 TRIM 함수를 사용하는 예입니다.
TRUNC(number)
TRUNC(number)는 num1을 소수점 아래 num2 위치에서 버림(Truncation)한 값을 반환하는 함수입니다.
TRUNC(number)의 세부 내용은 다음과 같습니다.
문법

구성요소
num1, num2
수치 값을 반환하는 임의의 연산식
num1이나 num2는 숫자형 타입이거나 숫자형 타입으로 변환될 수 있는 타입이어야 함
num2는 정수이어야 하고, 만약 num2가 주어지지 않거나 0이면 소수점 자리에서 버림을 함
num2가 음수이면 소수점 위의 자리에서 버림을 함
예제
다음은 TRUNC(number)를 사용하는 예입니다.
TRUNC(date)
TRUNC(date)는 date를 format에 명시된 단위로 버림한 결과를 반환하는 함수입니다.
참고
TRUNC(date)함수의 format에 명시할 수 있는 형식 문자열은 ROUND(date) 함수와 동일합니다.
TRUNC(date)의 세부 내용은 다음과 같습니다.
문법

구성요소
date
날짜를 반환하는 임의의 연산식
format
버림 단위를 명시하는 형식 문자열
format이 명시되지 않습니다면 'DD' 형식 문자열을 이용하여 가장 가까운 날로 버림이 됨
format으로 'YEAR', 'MONTH', 'DAY' 등을 사용할 수 있음
예제
다음은 TRUNC(date) 함수를 사용하는 예입니다.
TSN_TO_TIMESTAMP
TSN_TO_TIMESTAMP은 주어진 TSN과 가장 근접한 시간값을 반환하는 함수입니다.
TSN_TO_TIMESTAMP의 세부 내용은 다음과 같습니다.
문법

구성요소
num
숫자 값을 반환하는 임의의 연산식입니다.
예제
다음은 TSN_TO_TIMESTAMP 함수를 사용하는 예입니다.
TZ_OFFSET
TZ_OFFSET은 주어진 시간대를 오프셋 형식으로 반환하는 함수입니다.
TZ_OFFSET의 세부 내용은 다음과 같습니다.
문법

구성요소
timezone_name
시간대 지역 이름을 반환하는 문자열
[+|-]hh:mi
시간대 오프셋 값을 반환하는 문자열
SESSIONTIMEZONE
현재 세션의 시간대 값을 반환하는 함수
예제
다음은 TZ_OFFSET을 사용하는 예입니다.
TZ_SHIFT
TZ_SHIFT는 주어진 시간대를 특정 시간대로 변환하는 함수입니다.
TZ_SHIFT의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
시간대 정보를 포함한 시간값을 반환하는 임의의 연산식
timezone_name
시간대 지역 이름을 반환하는 문자열
[+|-]hh:mi
시간대 오프셋 값을 반환하는 문자열
SESSIONTIMEZONE
현재 세션의 시간대 값을 반환하는 함수
예제
다음은 TZ_SHIFT을 사용하는 예입니다.
UID
UID는 현재 세션을 생성한 사용자의 ID를 반환하는 함수입니다. 사용자 ID는 Tibero의 시스템 내에서 그 사 용자를 식별해주는 유일한 정수 값입니다. 파라미터는 없으며 괄호를 생략합니다.
UID의 세부 내용은 다음과 같습니다.
문법

예제
다음은 UID 함수를 사용하는 예입니다.
UNISTR
UNISTR는 유니코드 문자열을 입력받아 다국어 문자집합으로 인코딩된 문자열을 반환하는 함수입니다. 입 력으로 사용하는 유니코드 문자열은 '\xxxx' 형태이며, 여기서 'xxxx'는 UCS-2 포맷으로 인코딩된 16진수 문자열입니다.
UNISTR의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
예제
다음은 UNISTR 함수를 사용하는 예입니다.
UPDATEXML
UPDATEXML은 XPath expression과 XMLType instance의 쌍으로 입력된 인자들로 XMLType_instance 의 각 해당 xpath들을 value_expr의 value로 치환하는 함수입니다. 실제 xml column 값이 바뀌지 않고, 바뀐 XMLType instance가 반환됩니다. 만약 해당 xpath에 해당하는 node가 존재하지 않으면 원래의 바뀌지 않 은 xmltype instance가 반환됩니다.
UPDATEXML의 세부 내용은 다음과 같습니다.
문법

구성요소
XMLType_instance
XML 타입의 instance
XPath_string
Xpath expression으로 업데이트할 곳의 child node들이 업데이트 됨
value_expr
업데이트할 곳의 child node들이 값
namespace_string
XPath_string의 네임스페이스 정보를 나타냄
VARCHAR 타입이어야 함
예제
다음은 UPDATEXML 함수를 사용하는 예입니다.
UPPER
UPPER는 문자열 str 내의 모든 영문자를 대문자로 변환하여 반환하는 함수입니다.
UPPER의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
예제
다음은 UPPER 함수를 사용하는 예입니다.
USER
USER는 현재 세션을 생성한 사용자의 이름을 반환하는 함수입니다. 파라미터는 없으며 괄호를 생략합니다.
USER의 세부 내용은 다음과 같습니다.
문법

예제
다음은 USER 함수를 사용하는 예입니다.
USERENV
USERENV는 현재 세션의 정보를 보여주는 함수입니다.
참고
USERENV 함수에서 제공하는 파라미터는 “SYS_CONTEXT”를 참고합니다.
USERENV의 세부 내용은 다음과 같습니다.
문법

구성요소
str
문자열을 반환하는 임의의 연산식
예제
다음은 USERENV 함수를 사용하는 예입니다.
VALIDATE_CONVERSION
VALIDATE_CONVERSION은 문자열 expr을 지정된 데이터 타입으로 변환할 수 있는지 여부를 반환하는 함수입니다. 성공적으로 변환할 수 있으면 1을, 그렇지 않으면 0을 반환합니다. expr이 NULL이면 1을 반환합니다.
VALIDATE_CONVERSION의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr은 변환 가능 여부를 확인할 표현식
expr의 데이터 타입은 CHAR, NCHAR, VARCHAR, NVARCHAR 중 하나여야 함
다만, 변환할 타입이 숫자형 타입인 경우, expr도 숫자형 타입일 수 있음
typename
typename은 변환할 데이터 타입의 이름을 명시
typename으로 가능한 타입들은 NUMBER, BINARY_DOUBLE, BINARY_FLOAT, DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL DAY TO SECOND, INTERVAL YEAR TO MONTH
format
숫자형 또는 날짜형 타입의 형식 문자열
만약 format이 지정되지 않으면 디폴트 형식으로 변환을 수행
typename이 INTERVAL 타입인 경우 format을 지정할 수 없음
nlsparam
NLS 파라미터를 설정하여 변환 가능 여부를 확인할 수 있음
typename이 INTERVAL 타입인 경우 nlsparam을 지정할 수 없음
예제
다음은 VALIDATE_CONVERSION 함수를 사용하는 예입니다.
VAR_POP
VAR_POP은 expr의 모분산을 반환합니다. 모분산을 계산할 때 NULL 값은 무시됩니다. 이 함수는 파라미터의 수치 데이터 타입 또는 변환된 수치 데이터 타입을 반환합니다. 이 함수를 공집합에 적용하면 NULL 값을 반 환합니다.
이 함수는 다음과 같은 계산식으로 계산을 수행합니다.
VAR_POP의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
수치 데이터 타입 또는 수치 데이터 타입은 아니지만 묵시적으로 수치 데이터 타입으로 변환할 수 있는 데이터 타입을 반환하는 임의의 연산식
analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용 은 “분석 함수”의 analytic_clause를 참고
예제
다음은 VAR_POP 함수를 사용하는 예입니다.
분석 함수 예제
다음은 VAR_POP 함수를 분석 함수로 사용하는 예입니다.
VAR_SAMP
VAR_SAMP는 expr의 표본분산을 반환하는 함수입니다. 표본분산을 계산할 때 NULL 값은 무시됩니다. 이 함 수는 파라미터의 수치 데이터 타입 또는 변환된 수치 데이터 타입을 반환합니다. 이 함수를 공집합에 적용하 면 NULL 값을 반환합니다.
이 함수는 다음과 같은 계산식으로 계산을 수행합니다.
VAR_SAMP의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
수치 데이터 타입 또는 수치 데이터 타입은 아니지만 묵시적으로 수치 데이터 타 입으로 변환할 수 있는 데이터 타입을 반환하는 임의의 연산식
analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용 은 “4.1.3. 분석 함수”의 analytic_clause를 참고
예제
다음은 VAR_SAMP 함수를 사용하는 예입니다.
분석 함수 예제
다음은 VAR_SAMP 함수를 분석 함수로 사용하는 예입니다.
VARIANCE
VARIANCE는 expr의 분산을 반환합니다. 분석 함수로도 사용할 수 있습니다. 이 함수는 파라미터의 수치 데이 터 타입 또는 변환된 수치 데이터 타입을 반환합니다. 이 함수를 공집합에 적용하면 NULL 값을 반환합니다.
Tibero에서는 분산을 다음과 같이 계산합니다.
expr의 로우의 수가 1이면 0을 반환합니다.
expr의 로우의 수가 1보다 크면 VAR_SAMP 함수의 값을 반환합니다.
VARIANCE의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
수치 데이터 타입 또는 수치 데이터 타입은 아니지만 묵시적으로 수치 데이터 타입으로 변환할 수 있는 데이터 타입을 반환하는 임의의 연산식
analytic_clause
OVER analytic_clause를 사용해 함수를 분석 함수로 수행할 수 있음
자세한 내용 은 “분석 함수”의 analytic_clause를 참고
예제
다음은 VARIANCE 함수를 사용하는 예입니다.
분석 함수 예제
다음은 VARIANCE 함수를 분석 함수로 사용하는 예입니다.
VSIZE
VSIZE는 expr을 표현하기 위해 내부적으로 사용되는 byte 크기를 반환하는 함수입니다.
VSIZE의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
임의의 연산식
expr이 NULL이면 함수는 NULL을 반환
예제
다음은 VSIZE 함수를 사용하는 예입니다.
XMLAGG
XMLAGG는 집합 함수입니다. XML 조각을 받고, 이를 한데 모아 XML 문서로 만들어 반환하는 함수입니다. NULL 값을 반환하는 파라미터는 결과로부터 제외됩니다.
XMLAGG의 세부 내용은 다음과 같습니다.
문법

구성요소
xml_expr
XML 문장을 반환하는 임의의 연산식
order_by_clause
XML 문장들을 어떻게 정렬할지를 명시
자세한 내용은 “분석 함수”의 order_by_clause를 참고
예제
다음은 XMLAGG 함수를 사용하는 예입니다.
XMLCAST
XMLCAST는 첫 번째 파라미터의 값을 두 번째 파라미터에서 지정한 SQL 데이터 타입으로 변환하는 함 수입니다.
XMLCAST의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
XML 문장을 반환하는 임의의 연산식
typename
변환할 SQL 데이터 타입의 이름을 명시
예제
다음은 XMLCAST 함수를 사용하는 예입니다.
XMLCDATA
XMLCDATA는 expr의 결과로 CDATA 섹션을 만드는 함수입니다. **<![CDATA[string]]>**와 같은 포맷의
XMLType을 반환합니다. 단, 이 함수는 Solaris 환경에서 지원하지 않습니다.
XMLCDATA의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
XML CDATA 섹션의 내용이 될 문자열
expr이 NULL이면 함수는 NULL을 반환
예제
다음은 XMLCDATA 함수를 사용하는 예입니다.
XMLCOLATTVAL
XMLCOLATTVAL는 파라미터 각각을 "column" 이름과 "name" 속성을 가지는 XML 노드로 변환하고, 변 환된 파라미터를 결합하여 반환하는 함수입니다.
XMLCOLATTVAL의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr이 컬럼이면 AS 절을 생략할 수 있으며, Tibero는 컬럼명을 노드 속성이름으로 사용
expr이 NULL이면, 해당 expression에 어떠한 속성도 생성되지 않음
alias, EVALNAME expr
AS 절을 이용하여 expr의 별칭을 명시
alias나 expr의 값은 반드시 문자열이어야 하며, 그 크기는 최대 4000자
예제
다음은 XMLCOLATTVAL 함수를 사용하는 예입니다.
XMLCOMMENT
XMLCOMMENT는 expr의 결과로 XML 주석을 만드는 함수입니다. **<!--string-->**와 같은 포맷의 XMLType을 반환합니다.
XMLCOMMENT의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
XML 주석의 내용이 될 문자열입니다. expr이 NULL이면 함수는 NULL을 반환
예제
다음은 XMLCOMMENT 함수를 사용하는 예입니다.
XMLCONCAT
XMLCONCAT는 입력으로 나열된 모든 XMLType 객체들을 접합한 결과를 반환합니다. 임의의 expr이 NULL
일 경우엔 해당 expr을 무시하고, 모든 expr이 NULL일 경우엔 NULL을 반환합니다. XMLCONCAT의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
XMLType 객체를 반환하는 연산식
예제
다음은 XMLCONCAT 함수를 사용하는 예입니다.
XMLELEMENT
XMLELEMENT는 identifier로는 엘리먼트(Element)의 이름을 받고, 엘리먼트의 속성 집합을 옵션으로 받 으며, 엘리먼트의 내용을 구성하는 파라미터를 받는 함수입니다. 이 함수는 중첩된 구조를 가진 XML 문서를 생성하기 위해서 보통은 중첩되어 사용됩니다.
XMLELEMENT의 세부 내용은 다음과 같습니다.
문법

구성요소
– xmlelement
identifier
identifier의 값은 XML의 enclosing tag로 사용되기 때문에 반드시 제공되어야 함
identifier의 크기는 4000자까지이며, 컬럼명 또는 컬럼에 대한 참조일 필요는 없지만 표현식 또는 NULL 값일 수도 없음
엘리먼트의 내용을 구성하는 개체는 XMLATTRIBUTES 예약어 이후에 명시
xml_attributes_clause
XML의 속성(attribute)을 표현하기 위한 문법입니다. 엘리먼트의 값을 나타냄
expr
엘리먼트의 내용을 구성하는 연산식
– xml_attributes_clause
expr
expr이 컬럼이면 AS 절을 생략할 수 있으며, Tibero는 컬럼명을 엘리먼트 이름으로 사용
expr이 NULL이면, 해당 value expression에 어떠한 속성도 생성되지 않음
value expression은 XMLELEMENT의 expr을 의미
alias
AS 절을 이용하여 expr의 별칭을 명시할 때 c_alias의 크기는 최대 4000자
예제
다음은 XMLELEMENT 함수를 사용하는 예입니다.
XMLEXISTS
XMLEXISTS는 XQuery 표현식의 결과가 비어 있는지의 여부를 검사하는 함수입니다. 이 함수의 반환값이 비어 있지 않으면 TRUE를, 비어 있으면 FALSE인 Boolean 값입니다.
XMLEXISTS의 세부 내용은 다음과 같습니다.
문법

구성요소
str
XML 문서에 질의할 XQuery 문자열
expr
XMLType이 결과인 표현식
표현식의 결과가 XMLType이 아니면 에러를 발생
예제
다음은 XMLEXISTS 함수를 사용하는 예입니다.
XMLFOREST
XMLForest는 파라미터 각각을 XML로 변환하고, 변환된 파라미터를 결합하여 반환하는 함수입니다.
XMLFOREST의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
expr이 컬럼이면 AS 절을 생략할 수 있으며, Tibero는 컬럼명을 엘리먼트 이름으 로 사용
expr이 NULL이면, 해당 value expression에 어떠한 속성도 생성되지 않음
alias
AS 절을 이용하여 expr의 별칭을 명시할 때 c_alias의 크기는 최대 4000자
예제
다음은 XMLFOREST 함수를 사용하는 예입니다.
XMLPARSE
XMLPARSE는 expr로부터 XMLType을 만드는 함수입니다.
XMLPARSE의 세부 내용은 다음과 같습니다.
문법

구성요소
DOCUMENT
expr의 결과는 반드시 루트가 하나인 XML 문서이어야 함
CONTENT
expr의 결과는 XML 값이어야 함
expr
expr의 결과는 반드시 문자열 타입이어야 함
WELLFORMED
CONTENT의 경우 데이터베이스 내부적으로 WELLFORMED CHECK를 하지 않음
예제
다음은 XMLPARSE 함수를 사용하는 예입니다.
XMLPI
XMLPI는 XML 문서의 PI 문법을 생성하는 함수입니다. XMLType을 반환합니다.
XMLPI의 세부 내용은 다음과 같습니다.
문법

구성요소
identifier
XML 문의 PI 문법에서 name에 들어갈 문자열
XML 내부에서 사용하는 예약어 또는 물음표(?) , >를 포함할 수 없음
expr
문자열이 결과인 expr
생략되면, 길이가 0인 문자열로 간주됨
예제
다음은 XMLPI 함수를 사용하는 예입니다.
XMLQUERY
XMLQUERY는 지정된 XML 쿼리를 이용하여 해당 XML 데이터를 가져오는 함수입니다. XMLType을 반환 합니다.
XMLQUERY의 세부 내용은 다음과 같습니다.
문법

구성요소
str
XML 문서에 질의할 XQuery 문자열
최대 4000자
expr
질의의 대상이 되는 XML 문서가 결과인 표현식
XMLType이어야 함
예제
다음은 XMLQUERY 함수를 사용하는 예입니다.
XMLROOT
XMLROOT는 XML 문서의 선언부를 생성하는 함수입니다. <?xml version="version" [stan dalone="{yes|no}"]?>와 같은 포맷의 XMLType을 반환합니다.
XMLROOT의 세부 내용은 다음과 같습니다.
문법

구성요소
expr
XMLType이 결과인 표현식
표현식의 결과가 XMLType이 아니면 에러를 발생
VERSION
문자열을 반환하는 표현식입니다.'NO VALUE'가 주어진 경우 "1.0"을 기본값으로 사용
STANDALONE
STANDALONE 구문이 생략되거나 'NO VALUE'가 사용된 경우엔 생략
예제
다음은 XMLROOT 함수를 사용하는 예입니다.
XMLSERIALIZE
XMLSERIALIZE는 expr로부터 문자열이나 LOB 객체를 만드는 함수입니다.
XMLSERIALIZE의 세부 내용은 다음과 같습니다.
문법

구성요소
DOCUMENT
expr의 결과는 반드시 루트가 하나인 XML 문서이어야 함
CONTENT
expr의 결과는 XML 값이어야 함
expr
XML 문서를 반환하는 임의의 연산식
datatype
결과 타입을 지정
VARCHAR2와 CLOB을 사용할 수 있음(기본값: CLOB)
예제
다음은 XMLSERIALIZE 함수를 사용하는 예입니다.
XMLSEQUENCE
XMLSEQUENCE는 XMLType을 입력으로 XMLType의 VARRAY를 반환하는 함수입니다.
XMLSEQUENCE의 세부 내용은 다음과 같습니다.
문법

구성요소
xmltype_instance
질의의 대상이 되는 XML 문서로, XMLType
예제
다음은 XMLSEQUENCE 함수를 사용하는 예입니다.
XMLTABLE
XMLTABLE은 XML 문서에 XML Query를 질의한 결과를 테이블 형태로 반환하는 함수입니다. 각 컬럼의 값 은 XML Query의 결과 XML에서 XPath를 통해 설정하며, 타입 지정을 통해서 해당 데이터 타입으로 설정 되어 반환됩니다.
XMLTABLE의 세부 내용은 다음과 같습니다.
문법

구성요소
xquery_str
XML 문서에 질의할 XML Query
최대 길이는 4000자로 제한됨
xmlnamespace_clause의 str
XML Query를 질의할 특정 네임스페이스를 지정할 수 있음
필요 없으면 생략할 수 있음
xml_passing_clause의 expr
XML Query를 질의할 XML 문서
xmltable_column의 FOR ORDINALITY
FOR ORDINALITY 구문은 column이 생성된 row numbers의 column이 되도록 지정
FOR ORDINALITY 절은 하나만 있어야 함
NUMBER column으로 생성됨
xmltable_column의 datatype
결과 컬럼의 데이터 타입을 명시
xmltable_column의 str
결과 컬럼의 이름을 명시
문자열이며 최대 4000자
xmltable_column의 expr
해당 XPath에 값이 없을 경우 디폴트 값
이 문법이 생략되면 NULL이 기본값
예제
다음은 XMLTABLE 함수를 사용하는 예입니다.
XMLTRANSFORM
XMLTRANSFORM은 xmltype_instance를 xslt_document에 표현된 형식으로 변형하는 함수입니다. param_map을 통해 xslt_document에 정의된 파라미터를 입력할 수 있습니다.
XMLTRANSFORM의 세부 내용은 다음과 같습니다.
문법

구성요소
xmltype_instance
질의의 대상이 되는 XML 문서로, XMLType
xslt_document
변형 형식이 표현된 XSLT 문서로, XMLType
param_map
XSLT 문서에 정의된 파라미터를 입력할 수 있음
name1=value1 name2=value2 ... 형식의 문자열
예제
다음은 XMLTRANSFORM 함수를 사용하는 예입니다.
Last updated

