【发布时间】:2014-09-23 18:34:00
【问题描述】:
我创建了一个数据掩码,它可以在字符串中的任意位置找到一个 16 位数字,并将除最后四个字符之外的所有字符都替换为 X。
但我需要更新位于表中的列中的所有数据,而不是手动设置字符串。到目前为止,请查看我的代码:
DECLARE
@NOTES AS VARCHAR(8000)
SET @NOTES = 'Returns the starting position of the first occurrence of a pattern in a specified expression, 1234567891234567 or zeros if the pattern is not found, on all valid text and character data types'
SELECT
REPLACE(@NOTES, SUBSTRING(@NOTES, PATINDEX('%1%2%3%4%5%6%7%8%9%', @NOTES), 16), 'XXXXXXXXXXXX' + RIGHT(SUBSTRING(@NOTES, PATINDEX('%1%2%3%4%5%6%7%8%9%', @NOTES),16),4)) AS REPLACEMENT
任何帮助将不胜感激:-)
【问题讨论】:
-
所以,你在问什么? “做我的工作,我不想用我的大脑?”如果你有一个特定的问题(你从“我已经创建”开始,表明它已经完成了工作)那么你完全没有意义去问它。
-
您遇到的具体问题是什么?
-
我希望将掩码应用于更新语句
-
你已经说过了。这种重复的陈述怎么可能有帮助?
-
我只是在寻求帮助,而不是打算让人们结束。
标签: sql sql-server sql-server-2008 data-masking