데이터베이스/SQL

SQL LAST_DAY, TO_CHAR, TO_DATE

ADELA_J 2023. 11. 22. 18:13

<LAST_DAY>

- 특정 날짜가 있는 달의 마지막 날짜 출력

▶ 오늘 날짜인 2023년 11월 22일 포함된 달의 마지막 날짜가 어찌 되는지 출력

▷ 그렇다면 마지막 날까지 몇일이나 남았을까

8일밖에 안남다니 흑흑

참고로 당일 날짜는 빼고 계산된 금액

 

- 응용

▷  이름이 KING인 사원의 이름, 입사일, 입사한 달의 마지막 날짜를 출력

 

<TO_CHAR>

- 문자형으로 데이터 유형 변환

▶ SCOTT 사원의 이름, 입사한 요일, 월급에 천 단위를 구분하는 콤마 붙이기!!!!! 

   ▷ 숫자 셀 때 넘나 중요 궁금했음

   ▷ TO_CHAR(hiredate, 'DAY')는 입사일을 요일로 출력. 

   ▷ TO_CHAR(sal, '999,999')는 월급을 출력할 때 천 단위로 표시해서 출력

 

 ▷ 날짜를 문자로 변환해서 출력하면 날짜 → 년,월,일,요일 등 추출해서 출력 가능

▶ 시간은 HH, 분은 MI, 초는 SS, 주는 WW

▷ 1981년에 입사한 사원의 이름과 입사일을 출력

 

▶ EXTRACT 함수를 사용해서 하나씩 따로 추출할 수도 있다.

 

▼ 이름과 월급 출력, 월급은 천 단위를 표시해서 출력

 

 

▷ 9는 자릿수임. 이 자리에 0~9까지 어떠한 숫자가 와도 괜찮다는 뜻.

요렇게

▶ 알파벳 L을 붙이면 원화를 붙일 수 있음.

요렇게, 세상 귀엽

 

<TO_DATE>

- 날짜형으로  데이터 유형 변경

 

▶ 81년 11월 17일에 입사한 사원의 이름과 입사일 출력

▷ TO_DATE 함수를 사용해 81은 연도, 11은 달, 17은 일이라고 지정

 

▷ 이거는 접속한 세션의 날짜 형식을 확인해보는 쿼리를 작성해보면

확인해볼 수 있따! 결과가 RR/MM/DD니까 년 / 월 / 날짜로 검색해야 한다.

 

그래서 날짜 형식을 바꿔보자면

 

 

▷ DDL인 ALTER를 사용해서 session의 날짜 형식을 바꿔주고 검색해봤다

▶▷ SESSION이란! 지금 오라클에 접속한 창을 의미한다.

ALTER SESSION 명령으로 파라미터 변경을 했고,지금 접속한 세션에서만 유효하다. 

로그아웃하면 설정값은 사라진다. 

▶ ▶ 그래서 TO_DATE를 사용해서 세션을 확인하지 않고도 날짜 형식을 지정해서 검색할 수 있다.