2010-08-12 8 views
0

도움이 필요하시면 도움을 청하십시오. float에서 10 진수로 변환 할 필요가있을뿐만 아니라 새로운 데이터와 일치해야하는 경우 동일한 형식 및 데이터 (이 경우)로 이전되는 원본 데이터를 재정의해야합니다.TSQL, case, convert, replace end

,CASE 
    WHEN fInvReqMargin IS NOT NULL THEN 
    (CONVERT(DECIMAL(7, 7), fInvReqMargin)(REPLACE(fInvReqMargin, fInvReqMargin, INVESTOR_REQUIRED_MARGIN_FC))) 
    ELSE NULL 
END as INVESTOR_REQUIRED_MARGIN_FC 

error: Msg 156, Level 15, State 1, Line 1 Incorrect syntax near the keyword 'CASE'.

감사합니다!

+0

쉬트가되어야합니다. 상당히 엉망인 경우입니다. 그것들 모두가 하나의 필드를 사용한다면, 당신은 그것을 스칼라 UDF에 두는 것을 고려 했습니까? 그렇게하면 값을 점진적으로 늘릴 수 있습니다. – RPM1984

+0

'fInvReqMargin'이 null이 아닐 때 원하는 것을 이해하지 못합니다 - 대체 된 값을 Decimal로 변환하려고하거나 변환 된 값을 대체 된 값으로 추가하려고합니다 (그러나 매개 변수는 올바르지 않습니다). .. –

답변

0

문제는 CONVERT 및 REPLACE 구문 때문입니다. 데이터를 보지 않으면 스타일 매개 변수를 CONVERT에 제공하려고하는지 확인할 수 없습니다. 그렇다면 구문은