2010-08-12 29 views
0

需要幫助理解我在這裏的語法,請幫助!我不僅需要將float從float轉換爲decimal,而且還需要覆蓋正在被遷移到相同格式和數據(在此情況下)的原始數據,以便匹配較新的數據。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

sheesh,這是一個相當混亂的案件陳述。考慮到它全部使用一個字段,你有沒有考慮把它放在一個標量UDF中?這樣你可以逐漸建立價值。 – RPM1984 2010-08-12 23:48:17

+0

當'fInvReqMargin'不爲空時你沒有任何意義 - 你是否試圖將替換的值轉換爲Decimal,或將轉換的值添加到替換的值(但參數不正確。 .. – 2010-08-13 00:45:30

回答

0

問題在於CONVERT和REPLACE語法。在沒有看到數據的情況下,我無法確定您是否試圖將樣式參數提供給CONVERT。如果你是這樣的語法應該是

CONVERT(DECIMAL (7,7), fInvReqMargin,(REPLACE(fInvReqMargin, fInvReqMargin, INVESTOR_REQUIRED_MARGIN_FC)))