我有一个数据库表,其中包含列SLA破坏。该列(int)仅由数字组成(例如25、70、30、.)表达时间。
在SSIS中,格式的条件拆分为“SLA破坏/8< 2",意思是将SLA违约行号除以8并设置条件。根据几个条件,我随后创建派生列。
条件如下:
ISNULL(SLA_Breach) SLA_Breach /8 <= 2 SLA_Breach >2 && SLA_Breach /8 <= 5 SLA_Breach >5 && SLA_Breach /8 <= 10 SLA_Breach /8> 10
对于每个条件,有一个派生列仅根据条件分配ID (9、1、2、3、4)。
示例:
苏丹解放军的缺口为23。基于条件(23/8)是结果2,875,所以第三个条件应该适用,ID 2应该分配给派生列。但是,在DB表中,为该行分配了ID 1(第二个条件),因为它不考虑小数。
另一个使用SLA破坏24的示例工作正常。24/8为3,因此应用了第三个条件,并分配了正确的ID。
所以问题不是SSIS不考虑小数。怎么才能修好呢?
谢谢
发布于 2013-08-12 08:48:45
将SLA_Breach /8的结果存储到十进制类型的派生列中,然后进行条件检查。
decSLA_Breach = (DT_DECIMAL,2) SLA_Breach / 8https://stackoverflow.com/questions/18182072
复制相似问题