본문 바로가기
자격증/SQL개발자(SQLD)

3-6장. SQL 기본(함수[FUNCTION])

by 김엉배 2023. 5. 24.
728x90
반응형

 

SQLD 단원별 목록으로


1. 내장 함수(BUILT-IN FUNCTION) 개요

- 벤더에서 제공하는 함수인 내장 함수(Built-in Function)와 사용자가 정의할 수 있는 함수(User Defined Function)로 나눌 수 있다.

- 내장 함수는 다시 함수의 입력 값이 단일행 값이 입력되는 단일행 함수(Single-Row Function)와

  여러 행의 값이 입력되는 다중행 함수(Multi-Row Function)로 나눌 수 있다.

 

  • 단일행 함수의 특징
    - SELECT, WHERE, ORDER BY 절에 사용 가능하다.
    - 각 행(Row)들에 대해 개별적으로 작용하여 데이터 값들을 조작하고, 각각의 행에 대한 조작 결과를 리턴한다.
    - 여러 인자(Argument)를 입력해도 단 하나의 결과만 리턴한다.
    - 함수의 인자로 상수, 변수, 표현식이 사용 가능하고, 하나의 인수를 가지는 경우도 있지만 여러 개의 인수를 가질 수도 있다.
    - 특별한 경우가 아니면 함수의 인자(Arguments)로 함수를 사용하는 함수의 중첩이 가능하다.

 


2. 문자형 함수

- 문자형 함수는 문자 데이터를 매개 변수로 받아들여서 문자나 숫자 값의 결과를 돌려주는 함수이다.

 

 


3. 숫자형 함수

- 데이터를 입력받아 처리하고 숫자를 리턴하는 함수이다.

 

 


4. 날짜형 함수

- DATE 타입의 값을 연산하는 함수이다.

- Oracle의 TO_NUMBER(TO_CHAR( )) 함수의 경우 변환형 함수로 구분할 수도 있으나

  SQL Server의 YEAR, MONTH,DAY 함 수와 매핑하기 위하여 날짜형 함수에서 설명한다. EXTRACT/DATEPART는 같은 기능을 하는    Oracle 내장 함수와 SQL Server 내장 함수를 표현한 것이다.

- 데이터베이스는 날짜를 숫자로 저장하기 때문에 덧셈, 뺄셈 같은 산술 연산자로도 계산이 가능. 날짜에 숫자 상수를 더하거나 뺄 수 있다.

 

 


5. 변환형 함수

- 특정 데이터 타입을 다양한 형식으로 출력하고 싶을 경우에 사용되는 함수이 다. 변환형 함수는 크게 두 가지 방식이 있다.

 


6. CASE 표현

- IF-THEN-ELSE 논리와 유사한 방식으로 표현식을 작성해서 SQL의 비교 연산 기능을 보완하는 역할을 한다.

 


7. NULL 관련 함수

가) NVL/ISNULL 함수


나) NULL과 공집합

  • 일반적인 NVL/ISNULL 함수 사용
  • 공집합의 NVL/ISNULL 함수 사용
    - SELECT 1 FROM DUAL WHERE 1 = 2; 와 같은 조건이 대표적인 공집합을 발생시키는 쿼리이며, 위와 같이 조건에 맞는
       데이터가 한 건도 없는 경우를 공집합이라고 하고, NULL 데이터와는 또 다르게 이해해야 한다.

다) NULLIF

- EXPR1이 EXPR2와 같으면 NULL을, 같지 않으면 EXPR1을 리턴한다. 특정 값을 NULL로 대체하는 경우에 유용하게 사용할 수 있다.

라) 기타 NULL 관련 함수(COALESCE)

- 인수의 숫자가 한정되어 있지 않으며, EXPR에서 NULL 이 아닌 최초의 EXPR을 나타낸다. 모든 EXPR이 NULL이라면 NULL을 리턴

 

728x90
반응형