0
현재 시스템을 개발하는 데 코드 온타임을 사용하고 있습니다.COT를 사용하여 시작일과 종료일 사이의 날짜를 계산하는 방법
사용자가 조회에서 완료 날짜를 선택한 후 사용자가 몇 일 및 시간을 찍었는지 계산하려면 기본 날짜와 시간이 기본값입니다. 이렇게 할 방법이 있습니까?
현재 시스템을 개발하는 데 코드 온타임을 사용하고 있습니다.COT를 사용하여 시작일과 종료일 사이의 날짜를 계산하는 방법
사용자가 조회에서 완료 날짜를 선택한 후 사용자가 몇 일 및 시간을 찍었는지 계산하려면 기본 날짜와 시간이 기본값입니다. 이렇게 할 방법이 있습니까?
이게 당신이 쓴거야?
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
내 '완료 날짜는'알 수없는 원인은 사용자에 의해 선택되고, 아니면 DateDiif를 사용해야합니까? 쿼리는 COT SQL 표현식에 넣어야합니까? – Bella
안녕하세요, @Bella, 위의 DateDiff를 사용하여 다른 방법을 제공해 주셨습니다. 나는 COT에 익숙하지 않고 그것에 대해 많은 유용한 것들을 찾을 수 없기 때문에 쉽게 조언 할 수 없다. 저장 프로 시저 또는 사용자 정의 함수를 호출 할 수 있다면 위의 코드를 함수/proc로 래핑하여 매개 변수로 변수를 전달할 수 있습니까? 죄송합니다. 이보다 더 도움이되지 못합니다. – JohnLBevan
도움을 주셔서 감사합니다. – Bella