오라클 데이터베이스는 다양한 내장 SQL함수를 제공하는데, 내장 함수는 다음과 같이 분류된다.
내장 함수 종류 : 단일 행 함수, 집계 함수, 분석 함수, 모델 함수
단일 행 함수의 종류는 다음과 같이 분류된다.
단일 행 함수의 종류 : 문자 함수, 숫자 함수, 날짜 함수, 변환 함수, 널 관련 함수,
비교 함수, 인코딩 디코딩 함수, 환경 식별자 함수
문자 함수(character function)은 문자 값을 조작하는 함수다.
1. CHR 함수
사용법 : CHR(n)
CHR 함수는 n에 해당하는 데이터베이스 캐릭터 셋의 문자 값을 반환한다. 문자로 입력할 수 없는 특수문자를 입력할 때 사용할 수 있다.
ex)
SELECT ‘AB’ || CHR (10) || ‘C’ AS c1 FROM DUAL;
CHR (10) 표현식은 줄 바꿈 문자를 의미한다.
2. LOWER 함수
사용법 : LOWER (char)
LOWER 함수는 char을 소문자로 변경한다.
3. UPPER 함수
사용법 : UPPER (char)
UPPER 함수는 char을 대문자로 변경한다.
3. INITCAP 함수
사용법 : ININTCAP (char)
INITCAP 함수는 char에 포함된 단어의 첫 글자는 대문자, 나머지는 소문자로 변경한다.
단어는 공백이나 숫자와 알파벳이 아닌 문자로 구분된다.
4. LPAD 함수
사용법 : LPAD (expr1, n [, expr2])
LPAD 함수는 expr1 길이를 좌츨으로 n만큼 늘린 후, 늘어난 공간을 expr2로 반복해서 채운다.
expr2의 기본값은 공백이다.
ex)
SELECT LPAD (‘AB’,3) AS c1, LPAD(‘AB’, 1) AS c2,
LPAD (‘AB’, 5, ’12’) AS c3 FROM DUAL;
5. RPAD 함수
사용법 : RPAD (expr1, n [, expr2)
RPAD 함수는 expr1의 길이를 우측으로 n만큼 늘린 후, 늘어난 공간을 expr2로 반복해서 채운다.
expr2의 기본값은 공백이다.
LPAD 함수와 RPAD 함수는 expr1이 널이면 널을 반환한다.
6. LTRIM 함수
사용법 : LTRIM (char [, set])
LTRIM 함수는 char의 좌측부터 set에 포함된 문자를 제거한다. char는 한 문자씩 set과 비교되며,
set에 포함되지 않는 문자를 만나면 제거가 중단된다. set의 기본 값은 공백(‘ ‘) 이다.
7. RTRIM 함수
사용법 : RTRIM(char [, set])
RTRIM 함수는 char의 우측부터 set에 포함된 문자를 제거한다. 비교 방식은 LTRIM 함수와 동일하다.
set의 기본값은 공백이다.
사용법 : TRIM([{{LEADING || TRAILING || BOTH} [trim_chracter] || trim_character} FROM] trim_source)
TRIM 함수는 trim_source의 좌측이나 우측이나 양측엥서 trim_character을 제거한다.
trim_character가 아닌 문자를 만나면 제거를 멈추고, 위치의 기본 값은 BOTH이다.
보통 양측 공백을 제거하는 용도로 사용한다.
ex)
SELECT TRIM ( ‘AAB ‘ ) AS c8 FROM DUAL;
9. SUBSTR 함수
사용법 : SUBSTR (char, position [, substring_length])
SUBSTR 함수는 char를 position 위치에서 우측으로 substring_length 만큼 자른다.
substring_length를 생략하면 끝까지 잘린다. postion이 음수인 경우 끝에서 좌측으로 음수만큼 이동한
위치에서 우측으로 자른다. position이 char의 길이보다 크면 널을 반환한다.
ex)
SELECT SUBSTR(‘123456’ , 4) AS c1 FROM DUAL;
10. INSTR 함수
사용법 : INSTR (string, substring [, position [, occurrence]])
INSTR 함수는 string의 position에서 우측으로 occurrence번째 substring의 시작위치를 반환한다.
position과 occurrence의 기본값은 1이다.
position 이 string의 길이보다 긴 경우 0을 반환한다.
숫자 함수는 숫자값을 조작하는 함수다.
1. SIGN 함수
사용법 : SIGN (n)
SIGN 함수는 n의 부호를 반환한다. n이 양수면 1, 음수면 -1, 0이면 0을 반환한다.
2. MOD 함수
사용법 : MOD (n1, n2)
MOD 함수는 n1을 n2로 나눈 나머지를 반환한다. n2가 0이면 n1을 반환한다. n1 또는 n2가 음수면
절대값으로 계산한 값에 n1의 부호를 적용한다.
3. REMAINDER 함수
사용법 : REMAINDER (n1, n2)
REMAINDER 함수도 n1을 n2로 나눈 나머지를 반환한다. n2가 0이면 에러가 발생한다.
MOD 함수와 REMAINDER 함수는 계산 공식이 상이하다.
MOD 함수 -> n1 - (n2 FLOOR ( n1 / n2 ) )
REMAINDER 함수 -> n1 - (n2 ROUND( n1 / n2 ) )