문제
"Orderh"라는 주문 헤더 테이블이 있습니다. 이 테이블에는 "OrderDate"라는 열이 있습니다. 특정 범위 내에서 날짜로 주문을 검색하려고합니다. 나는 "사이"키워드로 이것을 달성 할 수 있다고 생각했지만 운이 없다고 생각했습니다. 이것은 내가 다음과 같이 fidgiting 한이 SQL입니다.
select
*
from
OrderH h
where
h.OrderDate between '2009-06-16' and '2009-06-01'
order by
h.OrderDate desc
내가 뭘 잘못하고 있죠?
해결책
더 작은 날짜가 먼저 있어야합니다
between '2009-06-01' and '2009-06-16'
대신에
between '2009-06-16' and '2009-06-01'
또한 더 큰 날짜에서 자정 값을 얻을 수 있기 때문에 사이를 사용할 때도주의하십시오.
다른 팁
예에서 첫 데이트가 두 번째 날짜보다 크기 때문에 쿼리는 작동하지 않습니다. 날짜를 교체하십시오. 첫 번째는 두 번째 날짜보다 동일해야합니다.
그들이 시작하기 전에 끝나는 날짜를 찾기가 어렵습니다. 최소와 최대를 변경하십시오 ...
h.OrderDate between '2009-06-01' and '2009-06-16'
select
*
from
OrderH h
where
h.OrderDate between '2009-06-01' and '2009-06-16'
order by
h.OrderDate desc
MS-SQL 서버에서는 2009-06-16 년 이후 자정에 발생하는 이벤트에는 포함되지 않습니다.
제휴하지 않습니다 StackOverflow