180305 Oracle SQL 함수 1 1 - RYUDONGJIN/Memo_wiki GitHub Wiki
숫자 처리 함수
- ABS : 절대값
- FLOOR : 소수점 아래를 잘라냄
- CEIL : 소수점을 올림
- POWER(m, n) : m의 n승을 반환
- SIGN : SIGN(n) n<0 이면 -1, n=0이면 0, n>0이면 1을 반환
- ROUND : 특정 자리수에서 반올림
- TRUNC : 특정 자리수에서 잘라냄
- MOD(A, B) : A를 B로 나눈 나머지를 출력
SELECT empno,ename FROM emp WHERE MOD(empno, 2)=1;
문자 처리 함수
- LOWER : 소문자로 변환
SELECT UPPER('welcome') FROM dual;
- UPPER : 대문자로 변환
- INITCAP : 첫 글자만 대문자로 나머지 글자는 소문자로 변환
- CONCAT : 문자의 값을 연결
- SUBSTR : 문자를 잘라 추출
- SUBSTRB : 문자를 잘라 추출
- LENGTH : 문자의 길이를 반환
- LENGTHB : 문자의 길이를 반환
- LPAD, RPAD : 입력 받은 문자열과 기호를 정렬하여 특정 길이의 문자열로 반환
- TRIM : 잘라내고 남은 문자를 표시
- CONVERT : CHAR SET 을 변환
- CHR : ASCII 코드 값으로 변환
- ASCII : ASCII 코드 값을 문자로 변환
- REPLACE : 문자열에서 특정 문자를 변경
날짜 함수
- SYSDATE : 시스템에 저장된 현재 날짜를 반환
- MONTHS_BETWEEN : 두 날짜 사이가 몇개월인지를 반환
형 변환 함수
- 숫자, 문자, 날짜의 데이터 형을 다른 데이터형으로 변환해야되는 경우 사용하는 함수
- TO_CHAR : 날짜형 혹은 숫자형을 문자형으로 변환
- TO_DATE : 문자형을 날짜형으로 변환
- TO_NUMBER : 문자형을 숫자형으로 변환
DECODE 함수
- switch~case 문과 같은 기능 / 여러가지 경우에 대해서 선택할 수 있도록 함
SELECT ename, deptno, DECODE(deptno,
10, 'ACCOUNT',
20, 'research',
30, 'sales',
40, 'operations')
as dname FROM emp;
CASE 함수
- DECODE 함수는 조건이 일치하는 경우에 대해서만 적용되는 반면, CASE 함수는 다양한 비교연산자를 이용하여 조건을 제시할 수 있다.
- if else if else와 유사한 구조
SELECT ename, deptno,
case
when deptno=10 then 'ACCOUNTING'
when deptno=20 then 'RESEARCH'
when deptno=30 then 'SALES'
when deptno=40 then 'OPERATIONS'
end
as dname
from emp;
select ename, sal,
case
when sal >= 1000 then '1000이상'
else '1000이하'
end
as salcase
from emp;