etc./Do it! 공부단

Do it! 오라클로 배우는 데이터베이스 입문 / 06단원 데이터 처리와 가공을 위한 오라클 함수

innit 2021. 12. 23. 20:19

1. 책 DB를 넣어주세요.

 

2. 나의 스터디 흔적을 사진으로 보여주세요. 책상(모니터)과 책이 함께 보이면 최고!

3. 이번 스터디에서 특별히 좋았던 점이나 어려웠던 점이 있었나요? 새로 알게된 부분이 있다면 알려주세요.

- 문자 함수

UPPER
UPPER(ENAME)
전부 대문자로
LOWER
LOWER(ENAME)
전부 소문자로
INITCAP
INITCAP(ENAME)
첫 글자만 대문자로
LENGTH
LENGTH(ENAME)
문자열의 길이
LENGTHB
LENGTHB(ENAME)
문자열의 바이트 수
SUBSTR
SUBSTR(JOB, 1, 2)
1번째부터 2개 문자
SUBSTR(JOB, -LENGTH(JOB), 2)
끝에서부터 2개 문자
INSTR
INSTR(ENAME, 'L', 2, 3)
2번째 문자 이후에서 3번째 'L'이 있는 위치
REPLACE
REPLACE('010-1234-5678', '-', ' ')
문자열 내의 '-'를 모두 공백으로 바꿔 출력
LPAD
LPAD(ENAME, 10, '*')
10자리 중 남는 자리를 왼쪽부터 '*'로 채우기
RPAD
RPAD(ENAME, 10, '*')
10자리 중 남는 자리를 오른쪽부터 '*'로 채우기
CONCAT
CONCAT(EMPNO, ENAME)
두 문자열을 연결하기
(참고)
EMPNO || ENAME
두 문자열을 연결하기
TRIM
TRIM('_' FROM '_ _ ORACLE _ _')
양 끝에 있는 '_'를 지우기
TRIM(LEADING '_' FROM '_ _ ORACLE _ _')
왼쪽에 있는 '_'를 지우기
TRIM(TRAILING '_' FROM '_ _ ORACLE _ _')
오른쪽에 있는 '_'를 지우기
LTRIM
LTRIM('<_ORACLE_>', '_<')
왼쪽에 있는 '_'와 '<'를 지우기
RTRIM
RTRIM('<_ORACLE_>', '>_')
오른쪽에 있는 '_'와 '>'를 지우기

- 숫자 함수

ROUND
ROUND(123.456, -1)
1의 자리에서 반올림
ROUND(123.456, 0)
소수점 첫째자리에서 반올림
ROUND(123.456, 1)
소수점 둘째자리에서 반올림
TRUNC
TRUNC(123.456, -2)
10의 자리에서 버림
CEIL
CEIL(3.14)
입력된 숫자와 제일 가까운 큰 정수
FLOOR
FLOOR(3.14)
입력된 숫자와 제일 가까운 작은 정수
MOD
MOD(15, 6)
15를 6으로 나눈 나머지

- 날짜 함수

SYSDATE
SYSDATE
현재 날짜와 시간
ADD_MONTHS
ADD_MONTHS(SYSDATE, 120)
해당 날짜의 120개월(10년) 뒤의 날짜
MONTHS_BETWEEN
MONTHS_BETWEEN(HIREDATE, SYSDATE)
두 날짜의 개월 수 차이
NEXT_DAY
NEXT_DAY(SYSDATE, '월요일')
해당 날짜에서 돌아오는 월요일의 날짜
LAST_DAY
LAST_DAY(SYSDATE)
해당 날짜가 속한 달의 마지막 날짜

형 변환 함수

TO_CHAR
TO_CHAR(SYSDATE, 'YYYY/MM/DD')
'날짜'를 해당 양식에 맞게 '문자'열로 변환
TO_CHAR(SAL, '000,999.00')
'숫자'를 해당 양식에 맞게 '문자'열로 변환
TO_NUMBER
TO_NUMBER('1,300', '999,999')
숫자처럼 생긴 '문자'를 해당 양식에 맞게 '숫자'로 변환
TO_DATE
TO_DATE('20180714', 'YYYY-MM-DD')
날짜처럼 생긴 '문자'를 해당 양식에 맞게 '날짜'로 변환

기타 함수

NVL
NVL(COMM, 0)
NULL인 값은 0으로 바뀌어 출력
NVL2
NVL2(COMM, 'O', 'X')
NULL이 아닌 값은 'O'로, NULL인 값은 'X'로 바뀌어 출력
DECODE
DECODE(JOB, 'MANAGER', A, 'SALESMAN', B, C)
대상 데이터와 조건 데이터가 일치하면 해당하는 반환값을 출력
CASE
CASE JOB WHEN 'MANAGER' THEN A WHEN 'SALESMAN' THEN B ELSE C END
위 DECODE 예시와 동일하게 출력
CASE WHEN 조건식1 THEN A WHEN 조건식2 THEN B ELSE C END
오로지 조건식이 true인지 false인지만 판단하여 해당하는 반환값을 출력 (더 범용성 높음)

4. 열심히 실습한 코드를 저장해 첨부해 주시거나 자랑할만한 스크린샷이 있다면 올려주세요.

 

728x90
반응형