시계열 데이터 다루기: 날짜 및 시간 관련 함수의 활용

2023. 11. 14. 20:28개발 문서/SQL

728x90
반응형

시계열 데이터는 특정 시간에 따라 기록된 데이터로, 날짜 및 시간 관련 함수를 사용하여 이러한 데이터를 쿼리하고 처리할 수 있습니다. 아래는 일반적으로 사용되는 몇 가지 날짜 및 시간 관련 함수와 그 활용 예제입니다.

1. 날짜 및 시간 함수:

a. 현재 날짜 및 시간 가져오기:

SELECT CURRENT_DATE; -- 현재 날짜
SELECT CURRENT_TIME; -- 현재 시간
SELECT CURRENT_TIMESTAMP; -- 현재 날짜 및 시간

b. 날짜 및 시간 포맷 변경:

SELECT TO_CHAR(CURRENT_DATE, 'YYYY-MM-DD'); -- 날짜를 원하는 포맷으로 변경
SELECT TO_CHAR(CURRENT_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS'); -- 날짜 및 시간을 원하는 포맷으로 변경

2. 날짜 및 시간 연산:

a. 날짜 더하기 및 빼기:

SELECT CURRENT_DATE + INTERVAL '7 days'; -- 현재 날짜에서 7일 후
SELECT CURRENT_DATE - INTERVAL '1 month'; -- 현재 날짜에서 1달 전

b. 날짜 간 차이 계산:

SELECT AGE('2023-01-01'::DATE, '2022-01-01'::DATE); -- 두 날짜 간의 차이 계산

3. 필터링 및 정렬:

a. 특정 날짜 범위 필터링:

SELECT * FROM your_table
WHERE date_column BETWEEN '2022-01-01' AND '2022-12-31';

b. 날짜에 따라 정렬:

SELECT * FROM your_table
ORDER BY date_column DESC; -- 날짜를 내림차순으로 정렬

4. 그룹화 및 집계:

a. 월별 데이터 그룹화:

SELECT EXTRACT(MONTH FROM date_column) AS month,
       COUNT(*) AS count
FROM your_table
GROUP BY month
ORDER BY month;

b. 날짜별 집계:

SELECT date_column, AVG(value_column) AS average_value
FROM your_table
GROUP BY date_column
ORDER BY date_column;

5. 시간대 관련 함수:

a. 타임존 변환:

SELECT your_timestamp AT TIME ZONE 'UTC' AS utc_timestamp
FROM your_table;

b. 특정 타임존에서의 현재 시간:

SELECT CURRENT_TIMESTAMP AT TIME ZONE 'America/New_York';

이러한 함수들은 데이터베이스 시스템에 따라 약간의 차이가 있을 수 있습니다. PostgreSQL, MySQL, SQL Server 등의 데이터베이스에서는 유사한 기능을 제공하지만 구문이나 함수명이 조금 다를 수 있습니다. 사용 중인 데이터베이스 시스템의 공식 문서를 참고하여 정확한 구문을 확인하는 것이 좋습니다.