문제 1. 이름에 *를 왼쪽에 채워 모두 동일한 15개의 이름으로 변환하고 업무와 급여를 출력한다.
lpad를 사용하여 빈 공간을 채우는 문제였다.
문제2. EMP 테이블에서 담당 업무 중 좌측에 ‘A’를 삭제하고 급여 중 좌측의 1(숫자)을 삭제하여 출력하여라.
trim 을 사용하고, trim은 문자 삭제 함수니까 숫자 데이터인 sal을 문자로 치환하여 1을 삭제하였다.
문제 3. EMP 테이블에서 담당 업무 중 우측에 ‘T’를 삭제하고 급여 중 우측의 0을 삭제하여 출력하여라.
위 방법과 동일하게, 다만 방향은 반대이다.
문제 4. EMP 테이블에서 JOB에 ‘A’를 ‘$’로 바꾸어 출력하여라.
replace와 translate를 사용하여 풀어보았다.
문제 5. EMP 테이블에서 현재까지 근무일수가 몇 주, 몇 일인가를 출력하여라. 단, 근무일수가 많은 사람 순으로 출력하여라.
내림차순 desc를 사용하였고 몇 주는 그냥 나누기 7을 했다.
문제 6. EMP 테이블에서 10번 부서원의 현재까지의 근무 월수를 계산하여 출력하여라.
근무 개월수는 바로 months_between을 썼다.
문제 7. EMP 테이블에서 입사한 달의 남은 근무 일수를 계산하여 출력하여라. 단, 토요일과 일요일도 근무일수에 포함한다.
나중에 토/일의 수는 어떻게 제외하면 좋을지도 고민해봐야 겠다.
문제 8. EMP 테이블에서 10번 부서원의 입사 일자로부터 돌아오는 금요일을 계산하여 출력하여라.
돌아오는 요일은 next_day를 쓰기.
문제 9. EMP 테이블에서 10번 부서원의 입사 일자를 ‘1 MAY 1981’와 ‘1998년 01월 01일’ 의 형태로 각각 출력하여라.
이거 조금 지저분해 보인다...
문제 10. EMP 테이블에서 20번 부서원의 급여 앞에 $를 삽입하고 3자리마다 ,를 출력하여라.
문제 11. february 22, 1981에 입사한 사원의 이름, 업무, 입사일자를 출력하여라. *nls_date_language=american일 경우
최대한 상수만 건드리기 위하여 우측에 to_date로 작업하였다.
'배우기 > 복습노트[oracle sql]' 카테고리의 다른 글
[복습] SQL | Oracle 조건을 나타내기, 일반함수(decode, case) (0) | 2023.10.31 |
---|---|
[실습문제] 2023. 10. 30.(월) 문제 풀이(7문제) (0) | 2023.10.31 |
[복습] SQL | Oracle null값 관련 함수인 일반함수(nvl, nvl2) + 복습후기(20231030) (0) | 2023.10.31 |
[복습] SQL | Oracle 데이터 타입 바꾸기, 변환 함수(to_char, to_number, to_date) (0) | 2023.10.30 |
[복습] SQL | Oracle 다양한 종류의 날짜 함수(sysdate, add_months, months_between, next_day, last_day, round/trunc) (0) | 2023.10.30 |