문제

"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'

또한 더 큰 날짜에서 자정 값을 얻을 수 있기 때문에 사이를 사용할 때도주의하십시오.

보세요 SQL Server의 날짜와의 작업간에 어떻게됩니까?

다른 팁

예에서 첫 데이트가 두 번째 날짜보다 크기 때문에 쿼리는 작동하지 않습니다. 날짜를 교체하십시오. 첫 번째는 두 번째 날짜보다 동일해야합니다.

그들이 시작하기 전에 끝나는 날짜를 찾기가 어렵습니다. 최소와 최대를 변경하십시오 ...

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 년 이후 자정에 발생하는 이벤트에는 포함되지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top