Case语句更改了我的视图的结果数据类型

时间:2015-11-10 22:24:21

标签: sql oracle11g case

昨晚我们改变了一个观点,即我们的隔夜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)会导致视图失去数据类型的精度?

0 个答案:

没有答案