如何使用SQL Server 2016动态数据屏蔽忽略空字符串?

时间:2016-07-01 00:41:51

标签: sql sql-server sql-server-2016 data-masking

我将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)')

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

Data Masking output, showing XX-XXX-X

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

1 个答案:

答案 0 :(得分:1)

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

  

自定义文字:

     

屏蔽方法,公开第一个和最后一个字符,并在中间添加自定义填充字符串。 如果原始字符串短于公开的前缀和后缀,则仅使用填充字符串。   前缀[填充]后缀

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