我们需要在Oracle数据库中将SQL Server源提取到ODI中。 在这个源代码中,我们在NULL和空字符串之间有区别。我们需要将这种差异捕获到ODI中。像nvl(属性,' XXX')这样的东西,以便空字符串成为Oracle中的NULL或类似的东西。
但是在来自SQL Server的物理映射中,ODI总是使用临时C $表(已经是Oracle表)。在那个C $表之后,我的' nvl'得到应用,但在Oracle中,null和空字符串的处理方式相同。
有谁知道如何处理这个问题?
谢谢!
答案 0 :(得分:0)
在逻辑映射中,您可以将ANSI SQL函数coalesce(attribute, 'XXX')
应用于目标列,这是有效的SQL Server语法。
如果设置参数Execute on Hint: Source
,该函数将在插入C $表之前应用于Source上的SELECT语句。