특정 날짜 범위 내의 레코드를 검색하기 위해 데이터베이스를 쿼리할 때 마지막 날짜를 포함해야 하는 경우가 많습니다. 지난달. 이 범위는 현재 날짜에 따라 매달 달라질 수 있습니다.
함수를 사용하지 않고 이전 달의 마지막 날을 확인하려면 다음 쿼리를 사용하면 됩니다. 날짜 열:
SELECT * FROM tbl WHERE my_date BETWEEN date_trunc('month', now())::date - 1 AND now()::date
date_trunc('month', now()) 함수는 이번 달의 1일을 반환합니다. 빼기 연산자를 사용하여 이 결과에서 하루를 빼면 이전 달의 마지막 날을 얻습니다.
타임스탬프 열의 경우 쿼리는 약간 다릅니다.
SELECT * FROM tbl WHERE my_timestamp >= date_trunc('month', now()) - interval '1 day' AND my_timestamp < date_trunc('day' , now()) + interval '1 day'
date_trunc ('month', now()) 함수는 이번 달의 시작을 타임스탬프로 반환합니다. 이전 달의 마지막 날을 얻으려면 - 간격 '1일' 표현식을 사용하여 하루를 뺍니다.
두 번째 조건의 경우 date_trunc('day' , now()에 1일을 추가합니다. ) 범위에 "오늘"이 모두 포함되도록 '1일' 간격을 사용한 결과입니다.
함수 사용을 선호하는 경우 LAST_DAY() 함수를 활용하면 동일한 결과를 얻을 수 있습니다.
SELECT * FROM tbl WHERE my_date BETWEEN LAST_DAY(DATE_SUB(NOW(), INTERVAL 1 MONTH)) AND NOW()
이 함수는 현재 날짜를 기준으로 이전 달의 마지막 날을 명시적으로 계산합니다.
위 내용은 PostgreSQL에서 이전 달의 마지막 날을 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!