2012-08-31 5 views
2

SQLServer 2008을 사용하고 있습니다. 날짜 시간 형식 인 필드 Y가있는 테이블 X가 있습니다. 내 쿼리의 WHERE 문에서 필드 Y의 날짜가 현재 날짜와 같은 행만 유지하려고합니다.날짜 시간이 현재 날짜인지 확인

내가 인터넷을 검색하지만 SQLServer에 작동 예를 찾을 수 couldnt는 한

/

는 당신의 도움을 주셔서 감사합니다!

답변

12

이 시도 :

WHERE CONVERT(date,Y)=CONVERT(DATE,getdate()) 
2

당신은 특정 형식으로 날짜를 변환해야합니다. 왜냐하면 datetime 데이터 형식의 SQL 서버에 날짜를 저장하면 SQL Server는 자동으로 기본 시간으로 날짜를 설정하기 때문입니다. 이제 getdate()로 쿼리를 만들면 현재 날짜가 시간과 함께 사용되므로 기본 시간으로 저장 한 날짜와 일치하지 않게됩니다.

이렇게하면 2 가지 방법으로 실제 결과를 얻을 수 있습니다.

1) 날짜을 사용하여 변환 이미 위에서 수행 한 데이터 유형.

2) varchar 특정 형식의 데이터 형식으로 변환하십시오.

select * from X where Convert(varchar(10),Y,120) = CONVERT(varchar(10),GETDATE(),120) 
관련 문제