Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 若列包含特定的字符串,那个么结果为空,否则为另一列,如何在informatica中应用此表达式转换?_Sql_Informatica_Informatica Powercenter - Fatal编程技术网

Sql 若列包含特定的字符串,那个么结果为空,否则为另一列,如何在informatica中应用此表达式转换?

Sql 若列包含特定的字符串,那个么结果为空,否则为另一列,如何在informatica中应用此表达式转换?,sql,informatica,informatica-powercenter,Sql,Informatica,Informatica Powercenter,我尝试了以下函数和代码,但无法返回列值 列名: CPOP\u分数\u NB,填充物\u COL\u 00010 DECODE( TRUE , FILLER_COL_00010= '?', ' ' , FILLER_COL_00010 = ' ', CPOP_SCORE_NB , 'NA' ) IIF(FILLER_COL_00010 = '?', ' ' ,CPOP_SCORE_NB) 现在我想返回CPOP\u SC

我尝试了以下函数和代码,但无法返回列值

列名:
CPOP\u分数\u NB,填充物\u COL\u 00010

DECODE( TRUE
      ,  FILLER_COL_00010=  '?', ' '
      , FILLER_COL_00010 = ' ', CPOP_SCORE_NB
                        , 'NA' )

IIF(FILLER_COL_00010 = '?', ' ' ,CPOP_SCORE_NB)
现在我想返回
CPOP\u SCORE\u NB
列值,如果
FILLER\u COL\u 00010
列值没有

我是informatica的新手,有人能帮我解决这个问题吗

如果FILLER\u COL\u 00010列值没有“?”,我想返回CPOP\u SCORE\u NB列值

在SQL中,您可以编写:

(case when FILLER_COL_00010 not like '%?%' then CPOP_SCORE_NB end)

您可以在您的案例中使用REG_MATCH函数


IIF(REG\u MATCH(FILLER\u COL\u 00010,..*)=FALSE,CPOP\u SCORE\u NB)
我为您的语句提供了简单的解决方案-
如果FILLER\u COL\u 00010列值没有,我想返回CPOP\u SCORE\u NB列值。

IIF(INSTR(FILLER_COL_00010,'?')=0, CPOP_SCORE_NB)

INSTR
将在FILLER\u COL\u 00010中返回
的位置。

谢谢大家,我尝试了所有选项。但下面的内容对我很有用:


IIF(FILLER_COL_00010='?',NULL,CPOP_SCORE_NB)

准确地说,但是如何在informatica中应用相同的方法并返回else条件的列名不幸的是,informatica没有'like',因此您可以使用
INSTR
。我只想注意,这个问题被标记为SQL,并且
like
在我所知道的每个数据库中都受到支持。