2012-11-30 2 views

답변

1

이게 당신이 쓴거야?

declare @dateTimeNow datetime = getutcdate() 
, @dateTimeThen datetime = '2012-11-28 12:00:00' 

select case when DATEPART(hour,(@dateTimeNow - @dateTimeThen)) >0 then day(@dateTimeNow - @dateTimeThen)-1 else day(@dateTimeNow - @dateTimeThen) end days 
, DATEPART(hour,(@dateTimeNow - @dateTimeThen)) hours 

또는

select DATEDIFF(day,@datetimethen, @datetimenow) - case when (DATEDIFF(Hour,@datetimethen, @datetimenow)) % 24 = 0 then 0 else 1 end days 
, DATEDIFF(hour,@datetimethen, @datetimenow) % 24 hours 
+0

내 '완료 날짜는'알 수없는 원인은 사용자에 의해 선택되고, 아니면 DateDiif를 사용해야합니까? 쿼리는 COT SQL 표현식에 넣어야합니까? – Bella

+0

안녕하세요, @Bella, 위의 DateDiff를 사용하여 다른 방법을 제공해 주셨습니다. 나는 COT에 익숙하지 않고 그것에 대해 많은 유용한 것들을 찾을 수 없기 때문에 쉽게 조언 할 수 없다. 저장 프로 시저 또는 사용자 정의 함수를 호출 할 수 있다면 위의 코드를 함수/proc로 래핑하여 매개 변수로 변수를 전달할 수 있습니까? 죄송합니다. 이보다 더 도움이되지 못합니다. – JohnLBevan

+0

도움을 주셔서 감사합니다. – Bella

관련 문제