【问题标题】:Case Statements/Decode Function in InformaticaInformatica 中的案例语句/解码函数
【发布时间】:2012-04-16 06:35:39
【问题描述】:

谁能帮助我在 Informatica PowerCenter Designer 中编写案例陈述?我对 Informatica 还很陌生,根据我有限的经验,我觉得不支持案例陈述。有一个具有类似功能的解码函数,但我找不到任何关于语法的好例子。

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

非常感谢您的帮助!

【问题讨论】:

    标签: decode case-statement informatica-powercenter informatica


    【解决方案1】:

    还可以看看经常用于实现条件逻辑的 IIF() 函数:

    IIF(DECIMAL_PORT > 0, 'positive value', IIF(DECIMAL_PORT < 0 ,'negative value', 'zero'))
    

    【讨论】:

    • 这会起作用,但随着条件数量的增加,它也会很快变得混乱。 DECODE 允许编写更具可读性的表达式。
    【解决方案2】:

    你是对的 - 没有CASE 语句,但你可以使用DECODE 来模拟它:

    DECODE( TRUE
          , DECIMAL_PORT > 0, 'positive value'
          , DECIMAL_PORT < 0, 'negative value'
                            , 'zero' )
    

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

    CASE
      WHEN DECIMAL_PORT > 0 THEN 'positive value'
      WHEN DECIMAL_PORT < 0 THEN 'negative value'
      ELSE 'zero'
    END
    

    它是这样工作的:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-06
      • 1970-01-01
      • 2012-10-28
      • 2015-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-13
      相关资源
      最近更新 更多