본문 바로가기
💿DBMS/오라클

[20210607] 단일 행 함수

by 캔 2021. 6. 7.

단일 행 함수

1. 문자 함수: 처리되는 데이터가 문자 유형 데이터
2. 숫자 함수: 처리되는 데이터가 숫자 유형 데이터
3. 날짜 함수: 처리되는 데이터가 날짜 유형 데이터
4. 일반 함수: 처리되는 데이터가 일반 유형 데이터
5. 형 변환 함수: 처리되는 데이터가 특정 유형 데이터
                     다른 데이터 유형으로 변경할 필요가 있을 때 사용
                     * 숫자, 날짜 데이터를 문자 데이터로 변환
                     * 문자 데이터를 날짜, 숫자 데이터로 변환

1. 문자 단일행 함수
UPPER(): 모든 문자를 대문자로
LOWER(): 모든 문자를 소문자로
INITCAP(): 첫 글자만 대문자, 나머지는 소문자로
CONTCAT():  두 문자열을 붙인다.
SUBSTRING(문자열, 시작 위치, [추출할 문자 수]): 문자열에서 원하는 문자만을 추출
* 추출할 문자가 없으면 끝 문자까지
* 추출할 문자가 마이너스이면 뒤에서부터 몇 번째 수인지
REPLACE(문자열, 찾을 문자, 대체 문자): 문자열에서 해당 문자(열)를 찾아 새로운 문자(열)로 교체
TRIM(문자 FROM 문자열) 문자열 양끝에 연속된 문자를 삭제 , 중간에 있는 문자는 삭제 불가
* 문자 앞에 BOTH 입력 시 양쪽 끝 해당 문자 제거
* 문자 앞에 LEADING 입력 시 앞쪽 끝 해당 문자 제거
* 문자 앞에 TRAILING 입력 시 뒤쪽 끝 해당 문자 제거
LTRIM(문자, 문자열): 문자열 앞쪽 해당 문자를 제거
RTRIM(문자, 문자열): 문자열 뒤쪽 해당 문자를 제거
LENGTH(문자열): 문자열의 길이 출력
LENGTHB(문자열): 문자열의 바이트 수 출력
LPAD('문자열' 출력 시 사용되는 BYTE 길이, '남은 빈칸을 채울 문자'): 문자열이 바이트 길이에 못 미칠 경우 왼쪽에 문자로 채움
RPAD('문자열' 출력 시 사용되는 BYTE 길이, '남은 빈칸을 채울 문자'): 문자열이 바이트 길이에 못 미칠 경우 오른쪽에 문자로 채움
INSTR('문자열'), 찾을 문자(열)' [, 검색 시작 자릿수, 찾은 값들 중 몇 번째 인지]): 찾을 문자나 문자열이 있으면 그 문자나 문자열이 시작된 자리 수를 반환하고, 없으면 0 반환

2. 숫자 단일행 함수
MOD(): 나머지
ROUND(숫자[, 소수점 이하 유효 자릿수]): 올림 또는 (두 번째 매개변수 없으면) 반올림
TRUNC(숫자[, 소수점 이하 유효 자릿수]): 소수점 이하 유효 자릿수 버림
* 두 번째 매개변수 없으면 1의 자리까지 버림
CEIL(N) : N보다 큰 가장 작은 정수, 음수는 절댓값이 작을수록 작은 수
FLOOR(N); N보다 작은 가장 큰 정수
POWER(M, N): M의 N제곱
ABS(N): N의 절댓값
SQRT(N): N의 제곱근(루트)
SIGN(N): N이 음수이면 -1, 양수이면 1, 0이면 0을 출력

3. 날짜 단일행 함수
SYSDATE: 오라클 서버가 운영되는 OS의 날짜와 시간을 날짜형으로 반환
* TO_DATE(날짜, 형식) 함수를 이용하여 날짜를 상수 처리할 것을 권장
* TO_DATE() 함수에 산술 연산 가능 예) TO_DATE('2020-01-01', 'YYYY/MM/DD') + 3 = '2020/01/04'
MONTHS_BETWEEN('날짜1', '날짜2'): 두 날짜 사이의 월 차이
NEXT_DAY(날짜, 요일): 날짜 기준으로 다음에 오는 요일의 날짜 변환
ADD_MONTHS(날짜, 숫자): 숫자만큼 달 수를 더한 날짜를 반환
LAST_DAY('날짜') 함수: 날짜가 포함된 달의 맨 마지막 날

* 날짜형도 반올림(ROUND), 버림(TRUNC) 가능
ROUND(날짜, ('YEAR', 'MONTH', 'DATE')): 연, 월, 일 중 절반 이상 지났으면 올림 아니면 버림
TRUNC(날짜, ('YEAR', 'MONTH', 'DATE')): 연, 월, 일 중 해당되는 단위 모두 버림