programing

지난 30일 동안 데이터를 가져오기 위한 SQL 쿼리?

newstyles 2023. 2. 23. 22:09

지난 30일 동안 데이터를 가져오기 위한 SQL 쿼리?

안녕하세요, 저는 Oracle에 처음입니다.지난 30일 또는 20일 구매일로부터 제품 ID를 취득하는 등 간단한 문구는 어떻게 해야 합니까?

SELECT productid FROM product
WHERE purchase_date ? 
SELECT productid FROM product WHERE purchase_date > sysdate-30

가장 쉬운 방법은 다음과 같습니다.

productid FROM 제품을 선택합니다.여기서 purchase_date > sysdate-30;

위의 sysdate에는 시간 구성요소가 포함되어 있으므로 현재 시각으로 2011년 3월 6일 오전 8시 54분보다 새로운 주문서가 됩니다.

비교할 때 시간 구성 요소를 제거하려면...

SELECT productid FROM product where purchase_date > trunc(sysdate-30);

또한 (댓글에 따라) 특정 날짜를 지정할 경우 기본 세션 매개 변수에 의존하지 말고 to_date를 사용하십시오.

purchase_date > to_date('03/06/2011' 'mm/dd/yyy')에서 productid FROM 제품을 선택합니다.

또한 (sysdate-30) - (sysdate) 사이의 코멘트에 관해서는, 향후 order_dates에서 주문을 받을 수 없는 한 sysdate 조건만으로 괜찮습니다.

"purchase_date>(sysdate-30)"을 실행할 때는 한 가지 측면에 주의하십시오. "sysdate"는 현재 날짜, 시간, 분 및 초입니다.따라서 "sysdate-30"은 정확히 "30일 전"이 아니라 "30일 전 이 시간에"입니다.

구매 날짜가 00.00.00인 경우, 시간, 분, 초 단위일 경우 더 나은 결과를 얻을 수 있습니다.

where trunc(purchase_date)>trunc(sysdate-30)

(몇 시간, 몇 분, 몇 초는 고려되지 않습니다.

Try this : 최근 30일 동안의 데이터를 선택할 수 있습니다.

SELECT
    *
FROM
    product
WHERE
    purchase_date > DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
SELECT COUNT(job_id) FROM jobs WHERE posted_date < NOW()-30;

Now()현재 날짜와 시간을 반환합니다.

select status, timeplaced 
from orders 
where TIMEPLACED>'2017-06-12 00:00:00' 

언급URL : https://stackoverflow.com/questions/5210817/sql-query-to-fetch-data-from-the-last-30-days