본문 바로가기

DB/PostgreSQL

[ PostgreSQL ] column이 날짜 type 일 경우 날짜만 비교하기

반응형

PostgreSQL에서 date 타입 컬럼이 있다면, 해당 컬럼은 이미 날짜만 저장되며 시간 정보는 포함되지 않습니다. 하지만 만약 timestamp 타입 컬럼을 사용 중인데, 날짜만 비교하고 싶으신 거라면 아래처럼 처리하실 수 있습니다.


 

1. 컬럼이 date 타입일 경우

단순 비교하면 됩니다:

SELECT *
FROM your_table
WHERE your_date_column = '2025-03-27';

 

2. 컬럼이 timestamp일 경우 날짜만 비교하고 싶다면

::date로 캐스팅하거나 DATE() 함수를 사용할 수 있습니다:

-- 방법 1: 캐스팅
SELECT *
FROM your_table
WHERE your_timestamp_column::date = '2025-03-27';

-- 방법 2: DATE() 함수
SELECT *
FROM your_table
WHERE DATE(your_timestamp_column) = '2025-03-27';

 

3. BETWEEN을 이용한 방법 (범위 지정)

SELECT *
FROM your_table
WHERE your_timestamp_column >= '2025-03-27'
  AND your_timestamp_column < '2025-03-28';

이 방법은 인덱스를 활용하기 더 좋은 경우가 있어서, 성능이 중요할 때 많이 사용합니다.


반응형