오경석의 개발노트

Oracle_내장 함수 본문

프로그래밍 언어/Oracle

Oracle_내장 함수

OHSAYU 2023. 11. 9. 19:56

    함수는 다양한 기준으로 분류할 수 있는데, 벤더에서 제공하는 함수인 내장 함수(Built-in Function)사용자가 정의할 수 있는 함수(User Defined Function)로 나눌 수 있다.

    내장 함수는 SQL을 더욱 강력하게 해 주고 데이터 값을 간편하게 조작하는 데 사용된다. 내장 함수는 벤더별로 가장 큰 차이를 보이는 부분이지만, 핵심적인 기능들은 이름이나 표현법이 다르더라도 대부분의 데이터베이스가 공통적으로 제공하고 있다.

    내장 함수는 다시 함수의 입력 값이 단일행 값이 입력되는 단일행 함수(Single-Row Function)와 여러 행의 값이 입력되는 다중행 함수(Multi-Row Function)로 나눌 수 있다. 다중행 함수는 다시 집계 함수(Aggregate Function), 그룹 함수(Group Function), 윈도우 함수(Window Function)로 나눌 수 있다.

    함수는 입력되는 값이 아무리 많아도 출력은 하나만 된다는 M:1 관계라는 중요한 특징을 가지고 있다. 단일행 함수의 경우 단일행 내에 있는 하나의 값 또는 여러 값이 입력 인수로 표현될 수 있다. 다중행 함수의 경우도 여러 레코드의 값들을 입력 인수로 사용하는 것이다. 단일행 함수는 처리하는 데이터의 형식에 따라서 문자형, 숫자형, 날짜형, 변환형, NULL 관련 함수로 나눌 수 있다.

    특별한 제약조건이 없다면 함수는 여러 개 중첩해 사용할 수 있다. 함수 내부에 다른 함수를 사용하면 안쪽에 위치한 함수부터 실행돼, 그 결과 값이 바깥쪽의 함수에 인자(Argument)로 사용된다.

함수3 (함수2 (함수1 (칼럼이나 표현식 [, Arg1]) [, Arg2]) [, Arg3 ])

 

단일행 함수의 중요한 특징은 다음과 같다.

- SELECT, WHERE, ORDER BY 절에 사용 가능

- 각 행(Row)들에 대해 개별적으로 작용하여 데이터 값들을 조작하고, 각각의 행에 대한 조작 결과를 리턴

- 여러 인자(Argument)를 입력해도 단 하나의 결과만 리턴

- 함수의 인자(Arguments)로 상수, 변수, 표현식이 사용 가능하고, 하나의 인수를 가지는 경우도 있지만 여러 개의 인수를 가질 수도 있다.

- 특별한 경우가 아니면 함수의 인자(Arguments)로 함수를 사용하는 함수의 중첩이 가능

함수명 (칼럼이나 표현식 [, Arg1, Arg2, ...])

 

 

 

출처 : SQL 전문가 가이드

'프로그래밍 언어 > Oracle' 카테고리의 다른 글

Oracle_숫자형 함수  (0) 2023.11.09
Oracle_문자형 함수  (0) 2023.11.09
Oracle_Dual 테이블  (0) 2023.11.07
Oracle_합성 연산자  (0) 2023.11.07
Oracle_산술 연산자  (0) 2023.11.07
Comments