오라클 내장함수 예제
시간 간격으로 정의된 논리 창을 숫자 형식으로 정의하는 경우 변환 함수를 사용해야 할 수 있습니다. 아래에 제공된 문자 또는 텍스트 함수는 거의 없습니다: 분석 함수에서 query_partition_clause를 사용하려면 괄호 없이 구문의 위쪽 분기를 사용합니다. 모델 쿼리(model_column_clause) 또는 분할된 외부 조인(outer_join_clause)에서 이 절을 사용하려면 구문의 하위 분기(괄호 포함)를 사용합니다. RANGE 키워드를 사용하는 해석 함수는 이러한 두 창 중 하나를 지정하는 경우 ORDER BY 절에서 여러 정렬 키를 사용할 수 있습니다. ANSI SQL 모듈 래핑 DISTINCT에 대한 Oracle 확장을 사용하면 집계 함수가 인수 식의 고유한 값만 고려하게 됩니다. 오라클에서 사용할 수 있는 변환 함수는 거의 없습니다: OVER analytic_clause를 사용하여 함수가 쿼리 결과 집합에서 작동함을 나타냅니다. 즉, FROM, WHERE, GROUP BY 및 HAVING 절 다음으로 계산됩니다. 선택 목록 또는 ORDER BY 절에서 이 절을 사용 하 여 분석 함수를 지정할 수 있습니다. 분석 함수를 기반으로 쿼리 결과를 필터링하려면 상위 쿼리 내에 이러한 함수를 중첩한 다음 중첩된 하위 쿼리의 결과를 필터링합니다.
분석 함수는 0~3개의 인수를 취합니다. 인수는 숫자 데이터 형식 또는 숫자 데이터 유형으로 암시적으로 변환될 수 있는 비숫자 데이터 형식일 수 있습니다. Oracle은 가장 높은 숫자 우선 순위로 인수를 결정하고 나머지 인수를 해당 데이터 유형으로 암시적으로 변환합니다. 개별 함수에 대해 달리 명시되지 않는 한 반환 형식도 해당 데이터 형식입니다. CHAR 또는 VARCHAR2를 반환하는 함수의 경우 반환 값의 길이가 제한을 초과하면 Oracle Database에서 이를 트렁킨 다음 오류 메시지 없이 결과를 반환합니다. 모델 함수는 SELECT 문의 model_절에서만 사용할 수 있습니다. 모델 함수는 다음과 같습니다 : ROWS | RANGE 이러한 키워드는 함수 결과를 계산하는 데 사용되는 각 행에 대해 창(실제 또는 논리적 행 집합)을 정의합니다. 그러면 함수가 창의 모든 행에 적용됩니다.
창은 쿼리 결과 집합 또는 파티션을 위쪽에서 아래로 이동합니다. 컬렉션 함수는 중첩된 테이블과 varrays에서 작동합니다.