2013-11-15 3 views
0

SQL 데이터베이스 작업 및 쿼리 작성 중입니다. 날짜에 대한 데이터를 제한해야
한 조건은 컬럼 데이터 유형이 DMDATE:datetime입니다 from datetill date, 사이하는데이터 형식으로 변환하십시오. DMDATE : datetime

검색어 :

Select * from dbo.invoices where invoicedate between dateadd(d, -3, getdate()) and getdate() 

항상 비어 있지만 3 일 전에 데이터가 있어야합니다 .

+0

아마 그 질문을 싫어하는 이유를 설명 할 수 있습니다. –

+0

"SQL 데이터베이스"라는 용어는 모호합니다. getdate()를 사용하여 SQL Server를 사용한다는 것을 알 수 있지만 텍스트 또는 태그에 지정해야합니다. 자세한 정보를 보려면 sql 태그 위로 마우스를 가져갑니다. –

답변

1

getdate()는 날짜와 시간을 반환하므로 시간 문제로 인해 문제가 발생할 수 있습니다. 날짜 유형으로 캐스팅하면 문제가 해결됩니다.

Select *
from dbo.invoices
where cast(invoicedate as date) between CAST(dateadd(d, -3, getdate()) as date) and CAST(getdate() as date)

귀하를 invoiceDate가 주조에 비해 날짜 형식이 이미 켜져있는 경우는 필요하지 않습니다.

관련 문제