반응형
두 날짜와 두 번 사이에 데이터를 가져 오기 위해 mySQL 테이블을 쿼리하고 싶습니다. "between"호출을 사용하여 단일 "datetime"열에 대해이 작업을 수행하는 방법을 알고 있지만 내 열은 하나의 "date"열과 하나의 "time"열입니다. 온라인에서 찾을 수있는 모든 솔루션은 단일 datetime 열에 대한 것입니다.
내 범위는 "1 일차"15:30에서 1 일 +1 일 15:14로 이동합니다.
지금까지 다음 범위를 얻을 수 있습니다 (작동).
SELECT time,
close
FROM intraday_values
WHERE date="2005-03-01"
and time between "15:30" and "23:59"
그러나 나는 분명히 두 개의 날짜와 두 번을 통합해야합니다. 다음을 시도했지만 오류가 발생합니다.
SELECT time,
close
FROM intraday_values
between date="2005-03-01"
and time="15:30"
and date="2005-03-02"
and time = "15:14"
누군가 내가 쿼리를 올바르게 공식화하도록 도울 수 있습니까? 많은 감사
해결 방법
날짜 필드가 색인화되었는지 확실하지 않습니다. 만약 그들이 그렇다면 다른 사람들이 제공 한 "concat"예제가 잘 수행되지 않을 수 있습니다.
대안으로 다음과 같은 형식의 쿼리를 사용할 수 있습니다.
select *
from foo
where (date > lower_date and date < upper_date) -- technically this clause isn't needed if they are a day apart
or (date = lower_date and time >= lower_time)
or (date = upper_date and time <= upper_time)
예쁘지는 않지만 작동하며 mysql이 존재하는 경우 날짜 필드의 인덱스를 사용할 수 있습니다.
따라서 귀하의 쿼리는
SELECT time,
close
FROM intraday_values
where (date > "2005-03-01" and date < "2005-03-02")
or (date = "2005-03-01" and time >= "15:30")
or (date = "2005-03-02" and time <= "15:14")
참조 페이지 https://stackoverflow.com/questions/25076559
반응형
'MySql' 카테고리의 다른 글
MySQL 압축 프로토콜은 언제 사용해야합니까? (0) | 2020.12.03 |
---|---|
MySQL 비주얼 쿼리 빌더 (0) | 2020.12.03 |
MySQL mysql에서 두 열의 차이점 (0) | 2020.12.03 |
MySQL에서 외래 키를 삭제할 수 없습니다. (0) | 2020.12.03 |
MySQL Mysql Workbench에서 0 또는 1 대 다 관계를 만드는 방법 (0) | 2020.12.03 |
댓글