informatica - 如何在值中添加缺失的字符
问题描述
有一个文件有一列包含自由文本,句子的某些单词用单引号括起来,但有时用户忘记用右引号关闭打开的引号,例如:我的名字是 'XXX,我正在访问我的家乡'YYY' 代表 'ZZZ。所以这里我们有两个词缺少 2 个词的结束引号。要求是找到并添加缺少的关闭报价。我们如何在 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)
推荐阅读
- python-3.x - TypeError: 'float' 对象在尝试使用特定数学方程时不可调用
- sql - 从系统 MS SQL Server 获取列信息
- jquery - 使用 Jquery 嵌套表单字段
- mysql - MySQL SELECT 计算精度(小数点后的数字)
- assembly - 为什么 powerpc 需要这个额外的绒毛来使原始机器代码功能工作?
- c++ - 为什么我的地图迭代器中有语法错误?
- java - 无法从 sharedpreference 中读取字符串集(变量值消失)
- python - 使用 beautifulsoup4 抓取时数据丢失
- windows - Jenkinsfile windows cmd 输出变量参考
- javascript - firebase.auth 不是一个函数 - 具有多个 firebase 应用程序初始化