일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 판다스그래프
- matplotlib
- sql연습하기
- 파이썬데이터분석주피터노트북
- SQL수업
- Python
- 주피터노트북
- 파이썬
- SQLSCOTT
- 수업기록
- 파이썬크롤링
- 주피터노트북맷플롯립
- 주피터노트북그래프
- 팀플기록
- python수업
- 주피터노트북판다스
- 파이썬알고리즘
- 판다스데이터분석
- 데이터분석시각화
- SQL
- 주피터노트북데이터분석
- 파이썬수업
- 파이썬차트
- python알고리즘
- 파이썬데이터분석
- sql따라하기
- 맷플롯립
- python데이터분석
- sql연습
- 파이썬시각화
- Today
- Total
IT_developers
SQL - scott(개념 + 실습)7 본문
숫자함수 : ROUND(), TRUNC(), CEIL(), FLOOR(), MOD()
날짜함수 : SYSDATE, CURRENT_DATE, CURRENT_TIMESTAMP
1) round() : 반올림
SELECT
round(1234.5678) AS round,
round(1234.5678, 0) AS round1,
round(1234.5678, 1) AS round2,
round(1234.5678, 2) AS round3,
round(1234.5678, - 1) AS round4,
round(1234.5678, - 2) AS round5
FROM
dual;

자리를 지정하지 않으면 기본 값으로 출력. 기본값은 0
2) trunc() : 버림
SELECT
trunc(1234.5678) AS trunc,
trunc(1234.5678, 0) AS trunc1,
trunc(1234.5678, 1) AS trunc2,
trunc(1234.5678, 2) AS trunc3,
trunc(1234.5678, - 1) AS trunc4,
trunc(1234.5678, - 2) AS trunc5
FROM
dual;

3) CEIL(), FLOOR()
- ceil() : 지정된 숫자보다 큰 정수중에서 가장 작은 정수
- floor() : 지정된 숫자보다 작은 정수 중에서 가장 큰 정수
SELECT
ceil(3.14),
floor(3.14),
ceil(- 3.14),
floor(- 3.14)
FROM
dual;

4) mod() : 나머지
SELECT
mod(15, 6),
mod(10, 2),
mod(11, 2)
FROM
dual;

자바에서 %와 같음
5) 날짜 함수 : 연산이 가능함.
- sysdate : 오늘 날짜. 오라클 서버가 돌아 가고 있는 시스템 시간을 가져옴.현재 시스템 시간.
- current_date : 현재 날짜.
- current_timestamp : 날짜 + 시, 분, 초 지역
SELECT
sysdate,
current_date,
current_timestamp
FROM
dual;

6) 오늘, 어제, 내일 날짜
SELECT
sysdate AS now,
sysdate - 1 AS yesterday,
sysdate + 1 AS tomorrow
FROM
dual;

7) add_months() : 몇 개월 이후 날짜 구하기
SELECT
sysdate,
add_months(sysdate, 3)
FROM
dual;

실습) 입사 20주년이 되는 사원들 조회
SELECT
empno,
ename,
hiredate,
add_months(hiredate, 240)
FROM
emp;

20주년 == 240 개월
실습) 현재 날짜를 기준으로 입사 45년 미만인 사원 조회
SELECT
*
FROM
emp
WHERE
add_months(hiredate, 540) > sysdate;

8) months_between(날짜1,날짜2) : 두 날짜 데이터 간의 날짜 차이를 개월 수로 출력
SELECT
empno,
ename,
hiredate,
sysdate,
months_between(hiredate, sysdate) AS months1,
months_between(sysdate, hiredate) AS months2,
trunc(months_between(sysdate, hiredate)) AS months3
FROM
emp;

9) 요일 알아보기
- next_day() : 특정 날짜를 기준으로 돌아오는 요일의 날짜 출력
- last_day() : 특정 날짜가 속한 달의 마지막 날짜 출력
SELECT
sysdate,
next_day(sysdate, '월요일'),
last_day(sysdate)
FROM
dual;

'SQL' 카테고리의 다른 글
SQL - scott(개념 + 실습)9 (0) | 2022.08.11 |
---|---|
SQL - scott(개념 + 실습)8 (0) | 2022.08.10 |
SQL - scott(개념 + 실습)6 (0) | 2022.08.08 |
SQL- scott(개념 + 실습)5 (0) | 2022.08.07 |
SQL - scott (개념 + 실습)4 (0) | 2022.08.06 |