| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 데이터조회예제
- 페이징처리예제
- 서블릿기초 #servlet #java #webprogramming
- springframework
- Java #Web #공부 #복습 #Servlet #서블릿 #포워드 #sendRedirect #dispatcher
- 프레임워크
- WEB
- Java
- 정리
- 동적sql
- List데이터조회
- JavaScript #인라인 #인터널 #익스터널 #데이터입출력
- Spring
- Java #자바 #초보개발자 #다형성 #동적바인딩 #instanceof #학습 #요약정리 #복습
- 복습
- mybatis
- Java #JDBC #Mybatis #동적SQL
- 데이터매핑
- 특징및기본구조
- 스프링
- 예제
- fremework
- JavaScript #예제 #복습 #Web #웹 #개발자가되고파ㅜㅜ
- mybatis자료형 #참고자료
- JavaScript #선언적함수 #익명함수 #화살표함수 #함수선언방법 #복습
- JavaScript #자바스크립트 #선택자 #HTML태그접근 #JS
- 데이터베이스 #DataBase #Oracle #DB #DataBase개요
- JavaScript #자바스크립트 #복습 #배열 #Array
- 어노테이션
- Java #자바 #인터페이스 #implements #다형성 #interface #복습 #정리 #나만의공부
- Today
- Total
개발군싹
[ORACLE DATABASE] 날짜 처리 함수 본문

날짜 처리 함수
오라클에서 날짜를 출력하는 두가지 방식이 있다.
1) SYSDATE(년,월,일) ➡️ DATE 타입
2) SYSTIMESTAMP(년,월,일,시,분,초) ➡️ TIMESTAMP 타입
SELECT SYSDATE, SYSTIMESTAMP
FROM DUAL;

날짜 산술연산처리
날짜에 +,- 연산을 이용하여 일수를 증가하거나 차감하여 출력할 수 있다.
+,- 연산을 사용하여 원하는 날짜의 값을 출력할 수 있다.
-- 날짜 산술연산처리하기
-- +,- 연산하기 -> 일수가 증가 또는 차감
SELECT SYSDATE, SYSDATE-1, SYSDATE-20, SYSDATE-30, SYSDATE+20
FROM DUAL;

LAST_DAY()
LAST_DAY() 함수를 이용하여 해당 달의 마지막날이 몇일인지 알아 볼 수 있다.
-- LAST-DAY : 그 달의 마지막날을 출력해주는 함수
SELECT LAST_DAY(SYSDATE)
FROM DUAL;

ADD_MONTHS(날짜, 개월 수 )
-- ADD_MONTHS : 개월수를 더하는 함수
SELECT SYSDATE, ADD_MONTHS(SYSDATE,4)
FROM DUAL;

➡️ 21개월 군복무기간동안 먹어야할 짬밥수와 전역일을 출력해보자. (현재 날짜 기준)
-- 군복무 기준 개월은 내가 근무했던 21개월을 기준으로... 짭밥수는 하루에 3끼를 기준으로...
SELECT ADD_MONTHS(SYSDATE,21) AS 전역일 , ABS(SYSDATE-ADD_MONTHS(SYSDATE,21))*3 AS 짬밥수
FROM DUAL;

MONTHS_BETWEEN(날짜1, 날짜2)
두 날짜 사이의 개월 수 차이를 출력해주는 함수
날짜1에서 날짜2을 뺀 개월수를 출력한다. 소수점 자릿수까지 출력되어 해당 출력 결과를 프로그래밍 구현에 맞게 사용할 줄 알아야 할 것 같다.
-- MONTHS_BETWEEN : 두개의 날짜를 받아서 개월수를 구해주는 함수
SELECT FLOOR(MONTHS_BETWEEN('24/02/01',SYSDATE)) || '개월'
FROM DUAL;

EXTRACT(YEAR||MONTH||DAY FROM 날짜)
-- 날짜의 년, 월, 일을 따로 출력할 수 있는 함수 제공
-- EXTRACT(YEAR||MONTH||DAY FROM 날짜) 숫자값을 반환
-- 현재날짜의 연,원,일 출력하기
SELECT EXTRACT(YEAR FROM SYSDATE), EXTRACT(MONTH FROM SYSDATE), EXTRACT(DAY FROM SYSDATE)
FROM DUAL;
EXTRACT 함수를 이용하여 입력한 날짜 데이터에서 원하는 '년,월,일'만 뽑아낼 수 있다.
이는 나이 계산, 년도 기준 등 어떠한 기준과 나이를 계산하거나 할 때 사용할 수 있음으로 다양한 사용 예제를 실습해봐야겠다.

➡️ 사원 중 년도에 상관없이 12월에 입사한 사원의 정보를 출력하라.
-- 사원 중 12월에 입사한 사원의 이름, 입사일 조회하기
SELECT EMP_NAME, HIRE_DATE
FROM EMPLOYEE
WHERE EXTRACT(MONTH FROM HIRE_DATE) = '12';

➡️ 날짜 처리 함수에서 년도의 패턴 표시를 'Y' 말고 'R'로 가능한데 'R'표기 했을 때는 아래와 같은 조건을 잘 생각해서 쿼리문을 작성해야한다.
-- RR로 년도를 출력할때
--현재년도 입력년도 계산년도
--00~49 00~49 현세기
--00~49 50~99 전세기
--50~99 00~49 다음세기
--50~99 50~99 현세기'DB' 카테고리의 다른 글
| [ORACLE DATABASE] DECODE, CASE (1) | 2023.10.23 |
|---|---|
| [ORACLE DATABASE] 형 변환 함수 (2) | 2023.10.23 |
| [ORACLE DATABASE]함수(Function) 이용하기(2) (0) | 2023.10.15 |
| [ORACLE DATABASE]함수(Function) 이용하기(1) (0) | 2023.10.15 |
| [ORACLE DATABASE] SELECT문(2) - 별칭(AS), 중복제거(DISTINCT), BETWEEN (1) AND (2) (0) | 2023.10.13 |