Azure Data Factory派生列转换:替换表达式失效问题求助
Azure Data Factory 派生列转换解决方案
问题分析
你的原表达式逻辑错误:replace函数的作用是将第一个参数中匹配第二个参数的部分替换为第三个参数。你把COUNTRY_CODE(示例中的GBR)替换成了#之前的子串,导致原字符串中的GBR被替换成UNILEVER GROUP,最终输出出现重复内容。
正确表达式
要直接提取#之前的有效内容并去除末尾空格,使用以下表达式:
trim(substring(ORIGINAL_DESCRIPTION_TEXT, 1, instr(ORIGINAL_DESCRIPTION_TEXT, '#') - 1))
表达式说明
instr(ORIGINAL_DESCRIPTION_TEXT, '#'):返回第一个#字符的位置(ADF字符串索引从1开始)substring(..., 1, 位置-1):截取从字符串开头到第一个#之前的部分,得到UNILEVER GROUP(注意末尾有空格)trim(...):去除截取结果的首尾空格,最终得到UNILEVER GROUP
验证示例
输入:UNILEVER GROUP ##### GBR
执行表达式后输出:UNILEVER GROUP,符合预期需求。
内容的提问来源于stack exchange,提问作者Rajkumar G
相关产品推荐
相关产品推荐

