昨晚我们改变了一个观点,即我们的隔夜ETL流程。
我们不是简单地显示数据类型为NUMBER(38)
的列,而是使用类似于下面的case语句:
CASE
WHEN WEB_SALES.WIDX IS NOT NULL THEN WEB_SALES.WIDX
WHEN TRANH.MAILORDER = 1 THEN TRANH.WIDX
ELSE NULL
END
视图的数据类型从NUMBER(38)
更改为NUMBER
,这使得SSIS抱怨元数据不正确。
我的问题是,如果case语句中引用的两个字段都具有NUMBER(38)
的数据类型,为什么视图NUMBER
的结果数据类型?
ELSE NULL
似乎导致它发生变化 - 如果我在NUMBER(38)
中添加了ELSE
个字段之一,那么结果数据类型为{{1}那么为什么NUMBER(38)
会导致视图失去数据类型的精度?