Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Python
- SQLD
- 대리자
- 랜덤수출력
- SQL개발자
- SQL전문가
- trycatch문
- sqld1과목
- db개발자
- 라즈베리파이
- mtv패턴
- 역순출력
- 질의작성기
- outerjoin
- 완전수
- 파이썬
- istqb-al
- sqld요점정리
- C#함수
- Django
- 아두이노
- 저장프로시저
- Oracle
- 코딩연습
- c#
- 데이터삽입
- ISTQB
- 람다식
- sqld요약
- BeutifulSoup
Archives
- Today
- Total
JIMINOTE
[Oracle] DECODE 함수, SUBSTR 함수 본문
● DECODE 함수
DECODE 함수는 프로그래밍에서의 if else 와 비슷한 기능을 수행한다. 간단한 사용방법은 아래와 같다.
예) DECODE(컬럼, 조건1, 결과1, 조건2, 결과2, 조건3, 결과3..........)
● SUBSTR 함수
SUBSTR 함수는 문자단위로 시작위치와 자를 길이를 지정하여 문자열을 자른다.
예) SUBSTR("문자열", "시작위치", "길이")
1. EMP 테이블에서 사원들은 입사일(Hiredate)을 기준으로 3개월이 지난 후 첫 월요일에 정직원이 됩니다.
사원들이 정직원이 되는 날짜(R_JOB)를 YYYY-MM-DD 형식으로 출력해 주세요.
단, 추가 수당(COMM)이 없는 사원의 추가 수당은 N/A로 출력하세요.
SELECT EMPNO, ENAME, HIREDATE,
TO_CHAR(NEXT_DAY(ADD_MONTHS(HIREDATE,3),'월요일'),'YYYY-MM-DD') AS R_JOB ,
DECODE(COMM,NULL, 'N/A',COMM) COMM
FROM EMP;
2. EMP 테이블의 모든 사원을 대상으로 직속 상관의 사원 번호(MGR)를 아래와 같은 조건을 기준으로
변환해서 CHG_MGR 열에 출력하세요.
- 직속 상관의 사원 번호가 존재하지 않을 경우 : 0000
- 직속 상관의 사원 번호 앞 두 자리가 75일 경우 : 5555
- 직속 상관의 사원 번호 앞 두 자리가 76일 경우 : 6666
- 직속 상관의 사원 번호 앞 두 자리가 77일 경우 : 7777
- 직속 상관의 사원 번호 앞 두 자리가 78일 경우 : 8888
- 그 외 직속 상관 사원 번호의 경우 : 본래 상관의 사원 번호 그대로 출력
SELECT EMPNO, ENAME,
DECODE(MGR,NULL, ' ',MGR) MGR,
DECODE(SUBSTR(MGR,1,2), NULL , '0000',
'75','5555',
'76','6666',
'77','7777',
MGR) AS CHG_MGR
FROM EMP;
'데이터베이스 > Oracle' 카테고리의 다른 글
[Oracle] 비밀번호 만료기간 해제 (0) | 2024.05.17 |
---|---|
[Oracle] 질의작성기(query analyzer) 이용법 (0) | 2020.09.11 |
[Oracle] OUTER JOIN(외부조인) (0) | 2020.08.30 |
[C#/Oracle] 미니주소록 만들기 (0) | 2020.08.25 |
[C#/Oracle] 데이터 삽입하기 (0) | 2020.08.25 |