반응형
어제 레코드만 선택하려면 어떻게 해야 하나요?
이 질문에 대한 답을 찾기 위해 몇 시간 동안 웹을 검색했는데...
현재 가지고 있는 것은 다음과 같습니다.
select *
from order_header oh
where tran_date = sysdate-1
용도:
AND oh.tran_date BETWEEN TRUNC(SYSDATE - 1) AND TRUNC(SYSDATE) - 1/86400
레퍼런스: TRUNC
위의 함수를 호출하다tran_date
옵티마이저는 관련된 인덱스(존재하는 인덱스)를 사용할 수 없습니다.Oracle과 같은 일부 데이터베이스는 이러한 상황에서 영향을 최소화하기 위해 데이터에 대한 기능을 수행할 수 있는 기능 기반 인덱스를 지원하지만 IME DBA는 이러한 인덱스를 허용하지 않습니다.그리고 나는 동의한다 - 그들은 이 경우에 정말로 필요하지 않다.
trunc(tran_date) = trunc(sysdate -1)
향후 날짜 지정 트랜잭션을 지원하지 않는 경우 다음과 같은 작업이 가능합니다.
AND oh.tran_date >= trunc(sysdate-1)
to_char(tran_date, 'yyyy-mm-dd') = to_char(sysdate-1, 'yyyy-mm-dd')
이 코멘트는 이 엔트리를 발견했지만 oracle 대신 mysql을 사용하고 있는 독자를 대상으로 합니다.mysql에서 다음 작업을 수행할 수 있습니다.오늘.
SELECT *
FROM
WHERE date(tran_date) = CURRENT_DATE()
어제,
SELECT *
FROM yourtable
WHERE date(tran_date) = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
어제의 타임스탬프를 사용하고 싶은 경우는, 다음과 같이 실시해 주세요.
(CURRENT_TIMESTAMP - INTERVAL '1' DAY)
언급URL : https://stackoverflow.com/questions/1574565/how-can-i-select-records-only-from-yesterday
반응형
'programing' 카테고리의 다른 글
오류: $digest가 이미 진행 중입니다. (0) | 2023.04.01 |
---|---|
IN 절의 SQL 다중 열 (0) | 2023.03.27 |
json.Marshal(struct)이 "{}"을(를) 반환합니다. (0) | 2023.03.27 |
$.ajax()의 Ajax 요청에 어레이 전달 (0) | 2023.03.27 |
PropType과흐름 (0) | 2023.03.27 |