首页 > 解决方案 > 需要识别和替换一行中的一段字符串

问题描述

我正在使用安装了扩展工具包的 netezza 数据库。我对这项工作比较陌生,而且我应该创建的脚本有问题。

我的任务是能够识别列中是否包含特定的数值,如果是,则将其替换为行。

例如,如果值为“此字符串包含此限制值 4402631524852147 并且需要屏蔽”,我的脚本需要将这些更改为“此字符串包含此限制值 ************2147它需要蒙面”

我已经能够使用 sqlext..regexpextract 和 sqleext..regexp_like 创建一个查询来识别值,但我不知道如何替换字符串。

我用来识别值的查询:

    SELECT ${COLUMN_NAME},'XXXXXXXXXXXXXXXX'||SUBSTR(${COLUMN_NAME},13,4) as 
MASKED_ID
FROM ${TABLE_NAME} 
WHERE sqlext..regexp_like(${COLUMN_NAME},'[0-9]{16}','I')
AND SUBSTR(sqlext..regexp_extract(${COLUMN_NAME},'[0-9]{16}','I'),1,6) in
('440263')

有没有办法使用 sqlext..regexp_replace?或者另一个要替换的 SQL 命令?

标签: sqlregexnetezza

解决方案



推荐阅读