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;