[전부 모음] PostgreSQL 날짜 관련된 함수
Data Analyst

빅데이터 관련 자료/[SQL] Basic

[전부 모음] PostgreSQL 날짜 관련된 함수

carpe08 2024. 3. 4. 17:04
320x100
320x100

PostgreSQL에서 사용할 수 있는 주요 날짜 및 시간 관련 함수를 설명하겠습니다.

  1. CURRENT_DATE / CURRENT_TIME / CURRENT_TIMESTAMP:
    • 각각 현재 날짜, 시간, 날짜와 시간을 반환합니다.
  2. DATE_TRUNC(unit, date):
    • 날짜를 특정 단위로 자릅니다. 예를 들어, 'hour'로 지정하면 해당 날짜의 시간 부분을 제거합니다.
  3. DATE_PART(unit, date):
    • 날짜에서 특정 단위의 값을 추출합니다. 연도, 월, 일 등의 값을 추출할 수 있습니다.
  4. TO_CHAR(timestamp, format):
    • 날짜를 지정된 형식으로 변환합니다.
  5. AGE(end_date, start_date):
    • 두 날짜 간의 차이를 계산합니다. start_date부터 end_date까지의 차이를 연도, 월, 일 단위로 반환합니다.
  6. EXTRACT(unit FROM date):
    • 날짜에서 특정 시간 단위의 값을 추출합니다. 연도, 월, 일, 시간 등의 값을 추출할 수 있습니다.
  7. MAKE_DATE(year, month, day):
    • 연, 월, 일을 입력하여 날짜를 생성합니다.
  8. MAKE_TIME(hour, minute, second):
    • 시간을 입력하여 시간을 생성합니다.
  9. TIMESTAMPDIFF(unit, start_timestamp, end_timestamp):
    • 두 타임스탬프 간의 시간 차이를 반환합니다.
  10. INTERVAL 'value unit':
    • 날짜 또는 시간에 특정 값을 더하거나 뺄 때 사용됩니다.
  11. NOW():
    • 현재 날짜와 시간을 반환합니다.
  12. DATE() / TIME():
    • 날짜와 시간에서 각각 날짜 부분과 시간 부분을 추출합니다.
  13.  
-- 현재 날짜를 반환합니다.
SELECT CURRENT_DATE AS current_date;

-- 현재 시간을 반환합니다.
SELECT CURRENT_TIME AS current_time;

-- 현재 날짜와 시간을 반환합니다.
SELECT CURRENT_TIMESTAMP AS current_timestamp;

-- 날짜를 특정 단위로 자릅니다. (예: 연도)
SELECT DATE_TRUNC('year', CURRENT_TIMESTAMP) AS truncated_year;

-- 날짜에서 특정 단위의 값을 추출합니다. (예: 월)
SELECT DATE_PART('month', CURRENT_TIMESTAMP) AS month_value;

-- 날짜를 지정된 형식으로 변환합니다.
SELECT TO_CHAR(CURRENT_TIMESTAMP, 'YYYY-MM-DD HH:MI:SS') AS formatted_datetime;

-- 두 날짜 간의 차이를 계산합니다.
SELECT AGE('2024-12-31', '2024-01-01') AS age_difference;

-- 날짜에서 특정 시간 단위의 값을 추출합니다. (예: 일)
SELECT EXTRACT(DAY FROM CURRENT_TIMESTAMP) AS day_value;

-- 연, 월, 일을 입력하여 날짜를 생성합니다.
SELECT MAKE_DATE(2024, 2, 29) AS custom_date;

-- 시간을 입력하여 시간을 생성합니다.
SELECT MAKE_TIME(12, 30, 0) AS custom_time;

-- 두 타임스탬프 간의 시간 차이를 반환합니다.
SELECT TIMESTAMPDIFF('hour', '2024-02-29 00:00:00', CURRENT_TIMESTAMP) AS hours_difference;

-- 현재 날짜와 시간을 반환합니다.
SELECT NOW() AS current_datetime;

-- 날짜와 시간에서 각각 날짜 부분과 시간 부분을 추출합니다.
SELECT DATE(NOW()) AS date_part, TIME(NOW()) AS time_part;
320x100
320x100