A. SQL 함수 개요

 

1. 벤더에서 제공하는 함수인 내장 함수(Built-in Function)와 사용자가 정의할 수 있는 함수(User Defined Function)로 분류
2. 내장 함수는 SQL을 더욱 강력하게 해주고 데이터 값을 간편하게 조작하는 데 사용
3. 함수는 입력되는 값이 많아도 출력은 하나만 리턴

SQL 함수 분류

 

 

 

B. 단일행 함수 개요

1. 처리하는 데이터의 형식에 따라서 문자형, 숫자형,날짜형, 변환형,NULL 관련 함수로 나눌 수 있음
2. SELECT, WHERE, ORDER BY 절에 사용 가능
3. 각 행(Row)들에 대해 적용되어 데이터 값을 조작하고, 각각의 행에 대한 결과값을 리턴
4. 여러 인자(Argument)를 입력해도 단 하나의 결과만 리턴
5. 함수의 인자(Arguments)로 상수/변수 사용 가능하고, 한 개 이상의 인수를 가질 수도 있음
6. 특별한 경우가 아니면 함수의 인자(Arguments)로 함수를 사용하는 함수의 중첩이 가능

 

 

C. 단일행 함수 종류

- 문자형 함수

1. 문자를 입력하면 문자나 숫자 값을 반환

2. LOWER, UPPER, SUBSTR/SUBSTRING, LENGTH/LEN, LTRIM, RTRIM, TRIM, ASCII

 

- 숫자형 함수

1. 숫자를 입력하면 숫자 값을 반환
2. ABS, MOD, ROUND, TRUNC, SIGN, CHR/CHAR, CEIL/CEILING, FLOOR, EXP, LOG, LN, POWER, SIN, COS, TAN

 

- 날짜형 함수

1. DATE 타입의 값을 연산
2. SYSDATE/GETDATE, EXTRACT/DATEPART, TO_NUMBER(TO_CHAR(d, ‘YYYY’|’MM’|’DD’)) / YEAR|MONTH|DAY

 

- 반환형 함수

1. 문자, 숫자, 날짜형 값의 데이터 타입을 변환
2. TO_NUMBER, TO_CHAR, TO_DATE / CAST, CONVERT

 

- NULL 관련 함수

1. NULL을 처리하기 위한 함수
2. NVL/ISNULL, NULLIF, COALESCE

 

 

 

D. 문자형 함수

1. 문자 데이터를 변수로 받아들여서 문자나 숫자 값의 결과를 리턴함

 

 

 

E. 문자형 함수 종류

문자형 함수 종류

 

 

문자형 함수 종류

 

문자형 함수 종류

 

 

 

F. 숫자형 함수 종류

숫자형 함수 종류

 

숫자형 함수 종류

 

숫자형 함수 종류

 

 

G. 날짜형 함수 종류

날짜형 함수 종류

 

 

H. 단일행 날짜형 데이터 연산

- 날짜+숫자 : 숫자만큼의 날수를 날짜에 더한 날짜를 리턴

- 날짜-숫자 : 숫자만큼의 날수를 날짜에 뺀 날짜를 리턴

- 날짜1-날짜2 : 날짜 1에서 날짜 2를 빼면 일수를 리턴

- 날짜-숫자/24 : 날짜에 숫자시간을 더한 날짜를 리턴

 

 

I. 데이터 유형 변환

1. 명시적 데이터 유형 변환 : 데이터 변환형 함수를 사용하여 데이터 유형을 변환
2. 암시적 데이터 유형 변환 : 데이터베이스가 자동으로 데이터 유형을 변환

 

 

J. Oracle 변환형 함수 종류

Oracle 변환형 함수 종류

 

 

 

K. SQL Server 변환형 함수 종류

SQL Server 변환형 함수 종류

 

 

L. CASE 표현

1. SQL의 비교 연산 기능을 보완하는 역할
2. 함수와 같은 성격
3. Oracle 의 Decode 함수와 같은 기능

SQL Server 변환형 함수 종류

 

CASE 표현

 

 

M. NULL 특성

 

1. NULL 값은 아직 정의되지 않은 값으로 0 또는 공백과 다르다. 0은 숫자이고, 공백은 하나의 문자
2. 테이블을 생성할 때 NOT NULL 또는 PK로 정의되지 않은 모든 데이터 유형은 NULL 값을 포함할
수 있음
3. NULL 값을 포함하는 연산의 경우 결과 값도 NULL 값
4. 모르는 데이터에 숫자를 더하거나 빼도 결과는 마찬가지로 결과는 모르는 데이터인 NULL
5. 결과값을 NULL이 아닌 다른 값을 얻고자 할 때 NVL/ISNULL 함수를 사용

 

 

N. NULL 연산

1. NULL + 2 -> NULL
2. NULL –2 -> NULL
3. NULL * 2 -> NULL
4. NULL / 2 -> NULL

 

 

 

O. NULL 함수

CASE 표현