Informatica中的案例陈述/解码功能

Ash*_*eva 10 decode case-statement informatica informatica-powercenter

任何人都可以帮我在Informatica PowerCenter Designer中编写案例陈述吗?我是Informatica的新手,基于我有限的经验,我觉得不支持案例陈述.有一个具有类似功能的解码功能,但我无法在语法上找到任何好的例子.

如果有人能给我一些关于如何在Informatica中使用case语句/解码函数的具体例子,我将非常感激.

非常感谢您的帮助!

Mar*_*icz 18

你是对的 - 没有CASE声明,但你可以DECODE用来模拟它:

DECODE( TRUE
      , DECIMAL_PORT > 0, 'positive value'
      , DECIMAL_PORT < 0, 'negative value'
                        , 'zero' )
Run Code Online (Sandbox Code Playgroud)

它等效于以下Transact-SQL CASE语句:

CASE
  WHEN DECIMAL_PORT > 0 THEN 'positive value'
  WHEN DECIMAL_PORT < 0 THEN 'negative value'
  ELSE 'zero'
END
Run Code Online (Sandbox Code Playgroud)

以下是它的工作原理:

  • 第一个参数是硬编码TRUE值,
  • 偶数参数(第2,第4等)是条件,
  • 奇数参数(第3个,第5个等)是返回值,
  • 最后一个参数是默认的返回值,
  • 计算第一个参数值的第一个条件(即第一个条件为真)确定返回的值,
  • 如果没有满足任何条件,则返回最后一个参数.