2014-03-19 6 views
1

45 분을 75 분으로 입력 한 후 사용자에게 다시 표시 할 때 45 분으로 변환해야합니다. 그러나 그것은 플로트 열 그리고 나는 그것을 다시 변환하려면 다음 T-SQL 문을 시도했다 :피연산자 유형 충돌 : 시간이 float와 호환되지 않습니다.

UPDATE #T1 
SET  #T1.HOURS = (CONVERT(TIME, DATEADD(mi,(#T1.Hours * 60), '00:00'))) 
WHERE #T1.HOURS <= 24 

를하지만 나에게 다음과 같은 오류를 던지고 :

Operand type clash: time is incompatible with float 

내가 또한 # 변환 시도 다음과 같은 기능

STR(#T1.Hours, 18,2) 

하지만, 발생 오류를 사용하여 문자열 T1.Hours 값은 여전히 ​​같은

입니다

아무도 나를이 문제를 해결하는 데 도움이 될 수 있습니까?

감사합니다.

답변

0

다음과 같이 작동됩니다.

SUBSTRING(T1.HOURS, 0, CHARINDEX('.',T1.HOURS)) + ':' + (SUBSTRING(T1.HOURS, 
            CHARINDEX('.', 
               T1.HOURS) 
            + 1, 
            LEN(T1.HOURS)) * 60)/100 

또한

Str(T1.Hours,18,2) and use a LTrim function 
에 의해 문자열로 T1.Hours 변환했다
관련 문제