Oracle
[Oracle]Oracle 주요함수_1103
하체는 스쿼트
2022. 11. 3. 18:02
오라클 주요함수
DUAL 테이블
1. 오라클 자체에서 제공되는 테이블
2. 간단하게 함수를 이용해서 계산 결과값을 확인 할 때 사용하는 테이블
3. SYS사용자가 소유하는 오라클의 표준 테이블 (그림 참조)
4. SYS사용자가 소유하지만 어느 사용자에서 접근 가능함 (그림 참조)
5. 오직 한행, 한컬럼을 담고 있는 dummy 테이블
Dual 테이블의 사용용도
- dual 테이블은 사용자가 함수(계산)를 실행할 때 임시로 사용하는데 적합하다.
- 함수에 대한 쓰임을 알고 싶을때 특정 테이블을 생성할 필요없이 dual 테이블을 이용하여 함수의 값을 리턴(return)
받을 수 있다.
숫자 처리 함수
- abs : 절대값 리턴
- ceil : 올림(소수점 아래에서 올림)
- trunc : 특정 자릿수에서 잘라냄
- round :특정 자릿수에서 반올림
- floor : 버림(소수점 아래를 잘라냄)
- mod : 입력 받은 수를 나눈 나머지 값 반환
문자 처리 함수
- INITCAP 첫 글자만 대문자로 변환하여 반환한다.
- UPPER 모든 글자를 대문자로 변환하여 반환한다.
- LOWER 모든 글자를 소문자로 변환하여 반환한다.
- CONCAT 두 개의 문자열을 연결하여 반환한다.
- LENGTH 문자열의 길이를 반환한다.
- INSTR 특정 문자의 위치를 반환한다.
- SUBSTR 문자의 일부분을 반환한다.
- REPLACE 특정 문자열을 치환하여 반환한다.
- LPAD 오른쪽 정렬 후 왼쪽에 생긴 빈 공백에 특정 문자를 채운다.
- RPAD 왼쪽 정렬 후 왼쪽에 생긴 빈 공백에 특정 문자를 채운다.
- LTRIM 왼쪽에서 특정 문자를 삭제한다.
- RTRIM 오른쪽에서 특정 문자를 삭제한다.
- TRIM 왼쪽, 오른쪽, 양쪽에 있는 특정 문자를 삭제한다.
날짜 함수
- ADD_MONTHS(date, integer) : ADD_MONTHS함수는 매개변수 DATE에 매개변수 INTEGER만큼의 월을 더한 날짜를 리턴합니다.
- LAST_DATE(date) : LASTE_DAY함수는 현재 월의 마지막 일자를 리턴합니다.
- NEXT_DAY(date, char) : NEXT_DAY함수는 매개변수 date의 다음 주 char(요일)의 날짜를 리턴합니다.
- MONTHS_BETWEEN(date1, date2) : MONTHS_BETWEEN함수는 매개변수 date1과 date2 사이의 개월수를 리턴합니다.
- SYSDATE : 오라클이 설치된 컴퓨터의 시스템 시간을 알려준다.
Data Type 변환 함수
- to_char : date -> char 또는 number -> char
- to_number : char -> number
- to_date : char -> date
DECODE VS CASE 함수
DECODE SUM 패턴 깨우치기!
Null 관련 함수
- NVL : NVL 함수는 값이 NULL인 경우 지정값을 출력하고, NULL이 아니면 원래 값을 그대로 출력한다. ( nvl은 원래 값과 같은 Data Type의 대체값을 제공하지 않으면 에러 발생함)
- NVL2 : NVL2 함수는 NULL이 아닌 경우 지정값1을 출력하고, NULL인 경우 지정값2를 출력한다.
- NULLIF: 두 개의 값이 같으면 null 다르면 첫번째 값 리턴
- COALESCE: first non-null value 리턴
DECODE 함수, CASE 표현식
DECODE : A=B이면 X, A≠B이면 Y를 출력 (A와 B가 같은지에 대한 조건)
CASE : DECODE와 달리, A와 B 사이에 부등호 관계(크거나 작은 조건)를 처리할 때 주로 사용
DECODE(A, B, X, Y) A = B 이면 X를 출력, A ≠ B 이면 Y를 출력
CASE 표현식에서 ELSE 부분은 생략이 가능하며, 만족하는 조건이 없으면 NULL을 리턴한다.
CASE 표현식은 SELECT 절, WHERE 절, PL/SQL 등 많은 부분에서 사용이 가능하다.