首页 > 解决方案 > 如何在值中添加缺失的字符

问题描述

有一个文件有一列包含自由文本,句子的某些单词用单引号括起来,但有时用户忘记用右引号关闭打开的引号,例如:我的名字是 'XXX,我正在访问我的家乡'YYY' 代表 'ZZZ。所以这里我们有两个词缺少 2 个词的结束引号。要求是找到并添加缺少的关闭报价。我们如何在 Informatica 中实现这一点。

标签: informatica

解决方案


您需要检查字符串中是否有偶数个单引号。所以,首先计算单引号的个数。问题是,您不能在函数中使用单引号 - 因此请改用CHR 函数来获取单引号:CHR(39). 现在,可以将计数作为原始字符串长度与删除单引号的长度之间的差异。用 2 函数将其包装成模将告诉您是否缺少引号:

v_missing_quotes = MOD(LENGTH('column')- LENGTH(replace('column', 'CHR(39)', '')), 2)

现在,如果缺少报价,只需添加它:

out_with_quotes = IIF(v_missing_quotes, column || 'CHR(39)', column)

推荐阅读