본문 바로가기

배우기/복습노트[oracle sql]

[문제풀이] 몇 가지 기초 문제 풀어보기

728x90
반응형

문제 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로 작업하였다.

728x90
반응형