0

我正在实施 SQL Server 2016 数据屏蔽作为一项测试,作为为应用程序提供“演示”模式的总体努力的一部分,该模式在展示时不会暴露真实数据。

我们有一个遵循模式0411 222 333(澳大利亚手机号码)的手机号码字段,下面的部分掩码正确地应用了我们所追求的标准掩码,即04XX XXX X33

ALTER TABLE Resource
ALTER COLUMN MobileNumber ADD MASKED WITH (FUNCTION='partial(2, "XX-XXX-X",2)')

但是,如果列的值为空字符串 ( ''),则仍会应用掩码,尽管没有要掩码的数据:

数据屏蔽输出,显示 XX-XXX-X

有没有办法确保掩蔽工作忽略空字符串?

4

1 回答 1

1

有关此功能的 MSDN 文章还有很多不足之处。但我确实找到了另一篇与 Azure 有关的类似文章,似乎回答了您的问题。

自定义文本:

暴露第一个和最后一个字符并在中间添加自定义填充字符串的掩码方法。如果原始字符串比暴露的前缀和后缀短,则仅使用填充字符串。前缀[填充]后缀

https://azure.microsoft.com/en-us/documentation/articles/sql-database-dynamic-data-masking-get-started/

于 2016-07-01T02:07:08.300 回答