如何在ssis中用负值替换Bracket中的值

时间:2013-06-28 15:59:37

标签: sql ssis

我已将数据从excel文件导入数据库,而某些列包含的值类似于(392.03)(2.25)(65.00)。实际上这些值应该是-ve值,你们可以帮助我将它们转换为-392.03-2.25-65.00

2 个答案:

答案 0 :(得分:0)

DECLARE @NumValue DEC (9,3) = 0
DECLARE @StrValue varchar(15) = '(392.03)'
IF LEFT(@StrValue,1)='(' and RIGHT(@StrValue,1)=')'
BEGIN
    SET @StrValue = SUBSTRING(@StrValue,2,LEN(@StrValue)-2)
    SET @NumValue = convert(DEC (9,3), @StrValue) 
END

SELECT @NumValue

答案 1 :(得分:0)

在派生列中尝试

SUBSTRING([Paid Amount],1,1) == "(" ? REPLACE(REPLACE([Paid Amount],"(","-"),")","") : [Paid Amount]

然后使用“数据转换”步骤转换值yo Float DT_R4