일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- geopandas설치
- 공공데이터포털
- r
- 시각화
- 오류
- kepler.gl
- geopnadas
- covid
- 마커클러스터
- Folium
- 라이엇api
- QGIS라벨링
- 에러
- map
- 인코등
- riotapi
- 코로나
- 파이썬
- Python
- 오픈API
- kepler
- 라이엇
- OSMnx
- covid19
- 지도
- pipwin
- geopandas에러
- matplotlib
- 막대그래프
- API
- Today
- Total
Nerdy
Oracle SQL 함수 정리 : 날짜 본문
계정 : sys
테이블 : EMP, DUAL
1. 세기, 년, 월, 일, 시, 분, 초를 나타내는 내부 숫자인 7 바이트 형식으로 날짜 저장
2. 기본 날짜 표시와 입력 형식은 DD-MM-YY
3. 유효한 오라클 날짜는 기원전 4712 년 1 월 1 일부터 서기 9999 년 12 월 31 일까지이다.
4. 날짜 데이터 타입의 값에 대해 실행되며 숫자를 반환하는 months_between 함수를 제외하고 모든 날짜 함수는 날짜 데이터 타입의 값을 반환
- 오라클은 날짜를 숫자로 저장하므로 산술 연산자로 다음과 같이 산술 계산을 할 수 있다.
□ Date + Number 날짜 연산: 일수를 날짜에 더하며 결과는 날짜
□ Date + Number / 24 날짜 연산: 24 로 일수를 나누면 시간이 되며 시간을 날짜에 더하며 결과는 날짜
□ Date – Number 날짜 연산: 날짜에서 일수를 빼며 결과는 날짜
□ Date – Date 날짜 연산: 특정 날짜에서 다른 특정 날짜를 빼며 결과는 일수
(1) SYSDATE
1. 시스템의 현재 날짜를 반환
2. 현재의 오라클 서버 날짜와 시간을 반환
3. 컬럼 이름을 사용하듯이 사용할 수 있다.
실습 : dual 테이블에서 시스템의 현재 날짜를 구한다.
SELECT SYSDATE FROM DUAL;
(2) MONTHS_BETWEEN : MONTHS_BETWEEN(date1, date2)
1. date1 과 date2 사이의 월수를 조회한다.
2. months_between 함수의 결과는
date1 이 date2 보다 늦은 날짜면 결과는 양수 / date1 이 date2 보다 앞선 날짜면 결과는 음수
3. months_between 함수의 결과에서 정수가 아닌 부분은 월 일부분을 나타낸다
실습 : EMP 테이블에서 입사 날짜와 현재 날짜의 근무 개월 수를 조회한다.
SELECT HIREDATE, SYSDATE, MONTHS_BETWEEN(HIREDATE, SYSDATE) FROM EMP
(3) ADD_MONTHS : ADD_MONTHS(date, n)
date 에 월수 n 을 추가하고 인자인 n 값은 정수여야 하며 음수가 될 수도 있다.
실습 : EMP 테이블에서 입사 날짜로부터 5개월이 지난 후의 날짜를 조회한다.
SELECT HIREDATE, SYSDATE, ADD_MONTHS(HIREDATE, 5) FROM EMP
(4) NEXT_DAY : NEXT_DAY(date, char)
1. date 다음에 오는 지정된 요일인 char 의 날짜를 찾는다.
2. char 값은 요일을 나타내는 숫자나 문자열이 될 수 있다.
실습 : EMP 테이블에서 입사일로부터 돌아오는 금요일을 조회한다.
SELECT ENAME, HIREDATE, NEXT_DAY(HIREDATE, '금') AS 월 FROM EMP;
(5) LAST_DAY : LAST_DAY(date)
1. date 에 해당하는 날짜가 있는 월의 말일 날짜를 찾는다.
2. 숫자 함수인 round 함수와 trunc 함수는 날짜 조작에도 사용할 수 있다.
실습 1 : EMP 테이블에서 해당 날짜에 대한 월의 말일 날짜를 조회한다.
SELECT ENAME, HIREDATE, LAST_DAY(HIREDATE) AS 월 FROM EMP;
실습 2 : EMP 테이블에서 입사일과 현재 날짜의 근무 개월 수를 반올림하여 조회한다.
SELECT ENAME, HIREDATE, SYSDATE, ROUND(MONTHS_BETWEEN(SYSDATE, HIREDATE)) AS 결과 FROM EMP;
실습 3 : EMP 테이블에서 입사일과 현재 날짜의 근무 개월 수를 절삭하여 조회한다.
SELECT ENAME, HIREDATE, SYSDATE, TRUNC(MONTHS_BETWEEN(SYSDATE, HIREDATE)) AS 절삭 FROM EMP;
'SQL' 카테고리의 다른 글
MySQL 한글 인코딩 설정하기 (0) | 2022.10.27 |
---|---|
Python과 R을 이용한 Oracle SQL 접근 (0) | 2022.06.15 |
Oracle SQL 함수 정리 : 숫자 (0) | 2022.03.29 |
Oracle SQL : TRANSLATE와 REPLACE 함수 차이점 (0) | 2022.03.29 |
Oracle SQL 함수 정리 : 문자 (0) | 2022.03.29 |