코딩 공부/SQL

ORACLE 문제 풀이[4]

유미._. 2023. 5. 11. 17:23
728x90

 

 

 

문제 061)

오늘부터 100달뒤 돌아올 금요일의 날짜를 출력하시오. 
select next_day((ADD_MONTHS(sysdate,100)),'금요일') from emp; 

문제 062)

이번달 말일의 날짜를 출력하시오. 
select last_day(sysdate) from emp;

문제 063)

오늘부터 요번달 말일까지 총 몇일남았는지 출력하시오.

※ 데이터 타입을 변환하는 함수
1. 문자로 형변환 :to_char

2. 숫자로 형변환 :to_number

3. 날짜로 형변환 :to_date

문제 064)

오늘이 무슨 요일인지 출력하시오. 

select to_char(sysdate,'day') from emp;

문제 065)

이름, 입사한 요일을 출력하시오. 

select ename, to_char(hiredate,'day') from emp;

 

- 설명

날짜 포멧스트링(기초1의 볼륨1 4-12)

요일 : day, dy

년도 : YYYY, YY, RRRR, RR, year

달 : mm, mon, month

일 : dd

주 : ww, w, iw

시간 : hh, hh24

분 : mi

초 : ss

문제 066)

오늘부터 200달 뒤에 돌아오는 날짜의 요일을 출력하시오.

select to_char(add_months(sysdate,200),'day') from emp;

문제 067)

이름과 입사한 년도를 출력하시오. 

select ename, to_char(hiredate,'yyyy') from emp;

문제 068)

1981년도에 입사한 사원들의 이름과 입사일을 출력하시오.

select ename, hiredate from emp
where hiredate like '81/__/__';

문제 069)

목요일에 입사한 사원들의 이름과 입사일, 입사한 요일을 출력하시오.

select ename, hiredate, to_char(hiredate,'day') from emp;


- 설명

trim은 DB에 뜻하지 않게 공백이 들어가서 적용한 함수
 
문제 070)

81년 12월 11일에 입사한 사원의 이름과 입사일을 출력하시오. 

select ename,hiredate from emp
where hiredate like '81/12/11';

문제 071)

이름과 월급을 출력하는데 월급에 천단위를 부여하시오! (예: 3000 -> 3,000)

select ename, to_char(sal, '999,999') from emp; 

문제 072)

이름과 월급 * 5400을 출력하는데, 천단위와백만단위를 출력하시오. 

select ename, to_char(sal*5400,'999,999,999') from emp;

 

- 설명

일반함수

1. nvl

2. decode

3. case

문제 073)

이름과 커미션을 출력하는데 커미션이 null인 사원들은 0으로 출력하시오.

select ename,NVL(comm,0) from emp;

 

- 설명
nvl 함수는 argument 양쪽의 데이터 타입을 맞춰야 한다.

문제 074)

이름과 커미션을 출력하는데 커미션이 null인 사원들은 no comm 이란 글씨로 출력하시오. 

select ename,NVL(to_char(comm), 'no comm') from emp;
 
 

 

 

 

 

 

 

이상입니다 ✍(◔◡◔)

 

 

 

728x90
반응형

'코딩 공부 > SQL' 카테고리의 다른 글

DataBase - ON DELETE CASCADE 이해하기  (0) 2023.05.14
ORACLE 문제 풀이[3]  (0) 2023.05.10
ORACLE 문제 풀이[2]  (0) 2023.05.09
ORACLE 문제 풀이[1]  (0) 2023.05.08
SQL 초기 설정 (Oracle)  (0) 2023.04.12