Giyoun's Projects

https://parkgiyoun.github.io/Project_tree_no_js/

SQL

[SQLD] SQL 기초2 - 함수3 (날짜함수)

P-Gyoun 2023. 7. 12. 17:34

이전 포스트
https://gy-project.tistory.com/m/5
https://gy-project.tistory.com/m/4
https://gy-project.tistory.com/m/3

[SQLD] SQL 기초 2 - 함수2 (숫자함수)

이전 포스트 [SQLD] SQL 기초 2 - 함수 (문자 함수) (tistory.com) [SQLD] SQL 기초 1 - SELECT문 (tistory.com) [SQLD] SQL 기초 2 - 함수 (문자 함수) 이전 글에서, SELECT문을 통해 데이터를 불러오는 방법을 알아보았다

gy-project.tistory.com

[SQLD] SQL 기초 2 - 함수1 (문자 함수)

이전 글에서, SELECT문을 통해 데이터를 불러오는 방법을 알아보았다. [SQLD] SQL 기초 1 - SELECT문 (tistory.com) 마지막 부분에서 함수의 사용에 대해 간단하게 언급했었는데, 이번 글에서는 자주 쓰이는

gy-project.tistory.com

[SQLD] SQL 기초 1 - SELECT문

SELECT문은 SQL에서 가장 많이 사용하는 구문이다. 테이블에 저장된 데이터를 추출/조회하고자 할 때 사용한다. 기본적으로 SQL문법은 영문법과 비슷하게 흘러간다고 생각하면 쉽다. 1. 테이블을 모

gy-project.tistory.com


이번 포스트에서는 날짜를 다룰 수 있는 함수들에 대해 정리할 것이다.
시스템 시간 반환 함수, 날짜 변환해 주는 함수로 나누어 볼 수 있다.


시스템 시간 반환

1. SYSDATE: 현재 시스템의 날짜와 시간을 반환합니다.

예: SYSDATE = 2023/07/11 11:55:25

2. SYSTIMESTAMP: 현재 시스템의 날짜와 시간을 밀리초 단위까지 표현하여 반환합니다.

예: SYSTIMESTAMP = 2023/07/11 11:55:25.123456

날짜 변환

1. ADD_MONTHS(date, n): date에 n개월을 더한 날짜를 반환합니다.

예: ADD_MONTHS(SYSDATE, 1) = 2023/08/11

2. MONTHS_BETWEEN(date1, date2): date1과 date2 사이의 개월 수를 반환합니다.

예: MONTHS_BETWEEN(‘2023/07/11’, ‘2023/01/01’) = 6.32258

3. LAST_DAY(date): date가 속한 월의 마지막 날짜를 반환합니다.

예: LAST_DAY(SYSDATE) = 2023/07/31

4. NEXT_DAY(date, 요일): 입력한 date와 가장 가까운 요일의 날짜를 반환합니다. 단, 입력한 날짜는 반환하지 않습니다.

요일입력 = 숫자, 한글, 영어 등 모두 가능
예: NEXT_DAY(SYSDATE, '월요일') = 2023/7/10

5. ROUND(date, format): date를 format에 맞게 반올림합니다. format은 연도, 월, 일, 시간 등을 나타내는 문자열입니다.

예: ROUND(SYSDATE, ‘MONTH’) = 2023/08/01

6. TRUNC(date, format): date를 format에 맞게 버립니다. format은 연도, 월, 일, 시간 등을 나타내는 문자열입니다.

예: TRUNC(SYSDATE, ‘MONTH’) = 2023/07/01


예제

SYSDATE함수를 활용하여 데이터 하나를 추가하고,
ROUND함수를 적용시켜 날짜까지 나타나게 만든 다음,
LAST_DAY함수를 이용해 이번달의 마지막 날을 보여주는 예시는 다음과 같다.

SELECT LAST_DAY(ROUND(SYSDATE), 'DAY')
FROM table;

'table'은 row가 1개인 임의의 테이블이래고 가정.

이 SQL을 실행했을 때 도출되는 테이블의 값은,
현재 시각에 해당하는 월의 마지막 날이 될 것이다.
ex) 2023/07/31