【发布时间】:2022-01-21 22:54:39
【问题描述】:
我在屏蔽以下输入的记录时遇到了问题:
输入:
The Domain Value is 32456 is getting from Spain to Madrid for String value differently . and this is the data for all kind of variable.
输出:
The ************************************************************ring value differently . and this is the data for all kind of variable.
基本上在上面输入的“域值”是固定字,所以我们需要屏蔽从域值开始到下一个 60 长度(固定)的数据。
我正在尝试下面的查询,但它没有屏蔽到下一个 60 长度
SELECT
CASE
WHEN start_pos1 > 0 THEN SUBSTR( col, 1, start_pos1 - 1)
|| RPAD('*', end_pos1 - start_pos1, '*')
|| SUBSTR(col, end_pos1)
ELSE col
END AS col_new
FROM (
SELECT
col,
REGEXP_INSTR( col, 'Domain Value([. # -]*\s{60}+)+', 1, 1, 0, NULL) AS start_pos1,
REGEXP_INSTR( col, 'Domain Value([. # -]*\s{60}+)+', 1, 1, 1, NULL) AS end_pos1,
FROM Table
)
【问题讨论】:
-
您似乎问了三个非常相似的问题,但没有说明为什么为这些问题提供的答案对您不起作用。也许您需要花一些时间真正详细地阐明您的要求,然后看看您是否可以调整您已经给出的任何建议?
-
也许您应该考虑研究数据编辑选项,看看它是否符合您的需求