티스토리 뷰

DataBase/Postgresql

postgresql 요일 구하기

디비자 2024. 5. 13. 14:35
반응형

PostgreSQL에서 특정 날짜의 요일을 구하는 방법에는

다음과 같은 쿼리를 사용할 수 있습니다.

 

1. TO_CHAR 사용

to_char 함수는 날짜/시간 데이터를 문자열로 변환할 때 사용되며, 

'D' 포맷은 일요일부터 토요일까지 1에서 7까지의 숫자로 요일을 나타냅니다.

SELECT
  CASE
    WHEN to_char(CURRENT_DATE, 'D') = '1' THEN '일요일'
    WHEN to_char(CURRENT_DATE, 'D') = '2' THEN '월요일'
    WHEN to_char(CURRENT_DATE, 'D') = '3' THEN '화요일'
    WHEN to_char(CURRENT_DATE, 'D') = '4' THEN '수요일'
    WHEN to_char(CURRENT_DATE, 'D') = '5' THEN '목요일'
    WHEN to_char(CURRENT_DATE, 'D') = '6' THEN '금요일'
    WHEN to_char(CURRENT_DATE, 'D') = '7' THEN '토요일'
  END AS 요일;

 

 

2. EXTRACT()

extract() 함수를 사용하여 ISO 요일 번호를 구할 수 있습니다. 
ISO 요일 번호는 월요일이 1이고 일요일이 7입니다.

SELECT
  EXTRACT(ISODOW FROM CURRENT_DATE) AS iso_weekday;


SELECT
  CASE
    WHEN EXTRACT(ISODOW FROM CURRENT_DATE) = '1' THEN '월요일'
    WHEN EXTRACT(ISODOW FROM CURRENT_DATE) = '2' THEN '화요일'
    WHEN EXTRACT(ISODOW FROM CURRENT_DATE) = '3' THEN '수요일'
    WHEN EXTRACT(ISODOW FROM CURRENT_DATE) = '4' THEN '목요일'
    WHEN EXTRACT(ISODOW FROM CURRENT_DATE) = '5' THEN '금요일'
    WHEN EXTRACT(ISODOW FROM CURRENT_DATE) = '6' THEN '토요일'
    WHEN EXTRACT(ISODOW FROM CURRENT_DATE) = '7' THEN '토요일'
  END AS 요일;

 

위의 예시를 참고하여 원하는 날짜에 대한 요일을 구할 수 있습니다. 

 

postgresql에서 지원하는 더 많은 함수는 아래 링크에서 확인할 수 있습니다. 

https://www.postgresql.org/docs/current/functions-datetime.html

반응형