본문 바로가기
반응형

오라클 함수180

【오라클(Oracle) SQL 함수】 LAG 함수 o LAG 문 법 lag::= 목 적 LAG 함수는 분석 함수이다. 이 함수는 자체 결합(자체 조인, Self join) 작업을 수행하지 않고, 하나의 테이블에 접근하여 다수의 행에 동시에 접근(Access)하여 작업을 수행한다. LAG 함수는 현재 위치를 기준으로 이전에 위치하고 있는 행에 접근하여 작업을 수행한다. 쿼리에서 반환된 일련의 행과 커서 위치가 주어진 경우, LAG 함수는 해당 위치 이전에 지정된 물리적 오프셋(physical offset)만큼 떨어진 위치의 행에 대한 접근을 할 수 있다. 선택적으로 지정 할 수 있는 오프셋(offset) 인수의 경우 0보다 큰 정수를 지정한다. 만약 Offset 인수를 지정하지 않으면, 기본값은 1이다. 오프셋이 창 범위를 초과하는 경우 사용자가 선택적으.. 2018. 11. 24.
[오라클 함수] ITERATION_NUMBER 함수 o ITERATION_NUMBER 문법 iteration_number::= 목적 이 함수는 모델 규칙에 따라 완료된 반복을 표시하는 정수를 반환한다. 이 함수는 SELECT 문장의 model_clause에서 사용되는 함수이며, model_rules_clause에 ITERATE(number)가 지정되어 있는 경우에 사용할 수 있다. ITERATION_NUMBER 함수는 처음 반복에서는 0을 반환하고, 이후 반복에서 ITERATION_NUMBER 함수는 iteration_number +1을 더한 정수를 반환한다. 예제 다음 예제는 1998년과 1999년에 대한 마우스 패트의 판매액을 각각 2001년과 2002년의 판매액에 할당한다. Oracle Program SELECT country, prod, year,.. 2018. 11. 24.
【오라클(Oracle) SQL 함수】 INITCAP 함수 o INITCAP 문 법 initcap::= 목 적 INITCAP함수는 입력 문자열 중에서 각 단어의 첫 글자를 대문자로 나머지 글자를 소문자로 변환하여 반환한다. 공백 또는 영문자, 숫자(영숫자) 이외의 문자가 단어를 구분하는 구분자 역할을 수행한다. CHAR 인수는 CHAR, VARCHAR2, NCHAR, NVARCHAR2 데이터 타입을 사용 할 수 있다. 반환되는 값은 CHAR 인수와 동일한 데이터 타입이다. 데이터베이스는 기본 문자 집합에 대하여 정의된 이진 매핑에 따라 초기 문자의 대소문자 형식을 설정한다. 언어에 민감한 대소문자 구분은 'NLS_INITCAP'을 참고 이 함수는 CLOB 데이터를 직접적으로 지원하지 않는다. 그러나, 암묵적 데이터 변환을 통해서 인수로 전달할 수 있다. 패키지 .. 2018. 11. 22.
【오라클(Oracle) SQL 함수】 INSTR 함수 o INSTR 문 법 instr::= 목 적 INSTR함수는 문자 열중에서 지정한 문자를 지정하여서 처음 나타나는 위치를 숫자로 반환한다. (문자검색) INSTR함수는 string에서 substring를 찾는다. 이 함수는 처음 발생한 문자 string의 위치를 나타내는 정수를 반환한다. INSTR함수는 입력 문자 세트에 의해서 정의된 문자를 이용하여 문자열을 산출한다. INSTRB함수는 문자 대신에 byte를 사용한다. INSTRC함수는 완전한 UNICODE문자를 사용한다. INSTR2 함수는 UCS2 코드 포인트를 사용한다. INSTR4 함수는 UCS4 코드 포인트를 사용한다. position은 오라클 데이터 베이스가 검색을 시작하는 string에서 문자의 위치를 나타내는 0 이외의 정수이다. 만약 .. 2018. 11. 22.
[오라클 함수] HEXTORAW 함수 o HEXTORAW 문법 hextoraw::= 목적 HEXTORAW함수는 char,varchar2,nachr,nvarchar2 등의 문자 형태의 16진수 값을 raw값으로 변환한다. 이 함수는 직접적으로 CLOB 데이터를 지원하지 않는다. 그러나, 암묵적 데이터 변환을 통해 인수로 전달될수 있다. 예제 다음 예제는 Raw 열을 이용하여 간단한 테이블을 생성하고, RAW에 변환된 16진수 값을 삽입한다. Oracle Program CREATE TABLE test (raw_col RAW(10)); INSERT INTO test VALUES (HEXTORAW('7D')); -------------------------------------------- 오라클 SQL 함수(Oracle SQL Function) .. 2018. 11. 22.
[오라클 함수] GROUPING_ID 함수 o GROUPING_ID 문법 grouping_id::= 목적 GROUPING_ID함수는 행과 관련되는 GROUPING 비트 벡터(bit vector)에 대응하는 수치를 반환한다. GROUPING_ID함수는 행과 관련된 GROUPING 비트 벡터에 대응하는 수치를 반환한다. GROUPING_ID는 ROLLUP, CUBE, GROUPING함수와 같은 GROUP BY 확장 기능을 포함한 SELECT문장에서 적용할 수 있다. 많은 GROUP BY 표현을 가지는 쿼리에서, 많은 GROUPING함수를 필요로 하는 특정한 행의 GROUP BY 레벨을 지정하기 위해서는 복장한 SQL이 요구된다. GROUPING_ID는 이런 경우 유용하다. GROUPING_ID함수는 다수의 GROUPING함수의 결과와 비트 벡터(1과.. 2018. 11. 20.
[오라클 함수] GROUPING 함수 o GROUPING 문법 grouping::= 목적 GROUPING함수는 ROLLUP이나 CUBE 연산자와 함께 사용하여 GROUPING 함수에 기술된 칼럼이 ROLLUP이나 CUBE 연산 시 사용이 되었는지를 보여 주는 함수이다. 특별히 연산 기능은 없으며 ROLLUP이나 CUBE 연산 후 출력된 결과에 대한 사용자의 이해를 높이기 위해 사용된다. 즉, GROUPING 함수를 이용할 경우 출력되는 결괏값 중 NULL값이 있다면 이 NULL값이 ROLLUP이나 CUBE 연산의 결과로 생성된 것인지, 원래 테이블상에 NULL값으로 저장된 것인지를 확인할 수 있다. GROUPING함수는 규칙적인 그룹화된 행에서부터 superaggregate을 구별한다. ROLLUP과 CUBE와 같은 GROUP BY의 확장 .. 2018. 11. 20.
[오라클 함수] GROUP_ID 함수 o GROUP_ID 문법 group_id::= 목적 GROUP_ID함수는 지정된 GROUP BY 결과로부터 중복된 그룹을 구별한다. 이 함수는 질의 결과에서 중복된 GROUPING을 필터링하는데 유용하다. 유일한 중복 그룹을 식별하기 위해서 ORACLE NUMBER를 반환한다. 이 함수는 GROUP BY구문을 소유한 SELECT문장에서 적용된다. 만약 n이 특정 그룹핑에서 중복이 존재한다면, GROUP_ID는 0~n-1 범위의 수를 반환한다. 예제 다음 예제는 sh.countries와 sh.sales의 쿼리로부터 중복된 co.country_region 그룹핑에 1의 값을 할당한다. Oracle Program SELECT co.country_region, co.country_subregion, SUM(s... 2018. 11. 20.
【오라클(Oracle) SQL 함수】 GREATEST 함수 o GREATEST 문 법 greatest::= 목 적 GREATEST함수는 다수의 인수중에서 가장 큰 값을 반환한다. 오라클 데이터 베이스는 반환되는 타입을 정의하기 위해 첫 번째 expr을 이용한다. 만약 첫 번째 expr이 수치형이라면, 오라클은 수치 순위가 가장 높은 인수를 정의하여, 비교 전에 나머지 인수를 그 데이터 형으로 암묵적으로 변환하고, 그 데이터형을 되돌린다. 만약 첫 번째 expr이 수치형이 아니라면, 비교전에 첫 번째 인수 뒤의 expr을 암묵적으로 첫 번째 expr로 변환한다. 오라클 데이터 베이스는 nonpadded 비교 규칙을 이용하여 각 expr을 비교한다. 문자 비교는 데이터 베이스 세트에서 문자의 값에 근간하여 비교한다. 만약 문자가 가장 높은 순위의 문자 세트 값이라면.. 2018. 11. 20.
【오라클(Oracle) SQL 함수】 FROM_TZ 함수 o FROM_TZ 문법 from_tz::= 목적 FROM_TZ함수는 timestamp 값과 시간대(time zone)를 TIMESTAMP WITH TIME ZONE값으로 변환한다. time_zone_value값은 포맷 'TZH:TZM'의 문자 값 또는 옵션 TZD포맷을 가지는 TZR에서 문자열이 반환하는 문자 표현이다. 관련 함수 함수명 함수내용 DBTIMEZONE 데이터 베이스의 시간대(time zone)의 정보를 반환한다. FROM_TZ timestamp 값과 시간대(time zone)를 TIMESTAMP WITH TIME ZONE값으로 변환한다. NEW_TIME zone1 시간대의 날짜와 시간 값을 zone2 시간대의 날짜와 시간 값으로 변환하여 출력한다. SESSIONTIMEZONE 현재 세션의 .. 2018. 11. 20.
【오라클 SQL 함수】 FLOOR 함수 o FLOOR 문법 floor::= 목적 FLOOR 함수는 지정한 숫자보다 작거나 같은 정수 중에서 최댓값을 반환한다. (내림 함수) 이 함수는 인수로서 임의의 수치 데이터형 또는 암묵적으로 수치 데이터형으로 변환 가능한 비수치 데이터형을 취한다. 이 함수는 인수의 수치형 형태와 같은 데이터형을 반환한다. 관련 함수 함수명 함수내용 CEIL 인수에서 지정한 수치를 올림 하여 정수를 구하는 함수이다. (절단 함수) FLOOR 지정한 숫자보다 작거나 같은 정수 중에서 최댓값을 반환한다. (내림 함수) MOD n2을 n1으로 나눈 나머지 값(Remainder)을 반환한다. REMAINDER n2를 n1으로 나눈 나머지 값을 반환한다. ROUND(number) n값을 소수점 아래 (integer+1) 번 째 위.. 2018. 11. 20.
【오라클(Oracle) SQL 함수】 FIRST_VALUE 함수 o FIRST_VALUE 문법 first_value::= 목적 FIRST_VALUE함수는 분석 함수이다. 그룹(또는 전체 데이터) 별로 데이터를 정렬 후 지정한 변수의 첫 번째 값을 반환한다. 만약 집합 내에서 첫 번째 값이 NULL이라면, IGNORE NULLS 옵션을 별도로 지정하지 않으면 NULL을 반환한다. 이 설정은 데이터 조밀화에 유용하다. 만약 IGNORE NULLS을 지정하면, FIRST_VALUE함수는 집합 내에서 최초 NON_NULL값을 반환하고, 만약 모든 값이 NULL이라면 NULL을 반환한다. 데이터 조밀화의 예는 "Using Partitioned Outer Joins: Examples" 참조. expr에 대하여는 FIRST_VALUE 또는 다른 분석 함수를 이용할 수 없다. 분석.. 2018. 11. 20.
반응형