2013-10-18 4 views
0

테이블이 있습니다. 여기에 TIME_SEND (time (7)) 열이 있습니다. 이 표에 나는 가치가있다 09:50:00. 이 내 코드입니다 : 내가 열 TIME_SEND에 실제 시간 (분)과 시간의 차이를주고 싶어DATEDIFF의 잘못된 결과

select DATEDIFF(mi,GETDATE(),(select TIME_SEND from FASTREPORT_SEND)) 

.

그러나 결과는 다음과 같습니다

-59850741 

당신에게 어떤 생각을 가지고, 그것은 나쁜 이유는 무엇입니까?

+0

결과가 타임 스탬프가 아닙니까? 어쩌면 당신은 단지 그것을 올바르게 포맷 할 필요가있을 것입니다. – Cesc

답변

3

1900 년 1 월 1 일 오전 9시 50 분부터 현재까지의 분 수입니다. datetimetime과 비교하면 timedatetime 값으로 확장하여 사과와 사과를 비교할 수 있습니다.

이 쿼리는보다 합리적인 결과를 (현재 18) 반환 : 나는 당신의 테이블과 데이터에 대한 액세스 권한을 갖는 대신에 CONVERT(time(7),'09:50:00')을 사용했습니다

select DATEDIFF(mi,CONVERT(time(7),GETDATE()),CONVERT(time(7),'09:50:00')) 

.