【问题标题】:How to prevent data masking in SQL2016如何防止 SQL 2016 中的数据屏蔽
【发布时间】:2018-08-27 10:47:22
【问题描述】:

当我在 SQL2016 中使用动态数据屏蔽时

(FUNCTION = 'partial(1,"XXXXXXX",0)')

select 语句返回值

"XXXXXXX"

对于我的流程来说不是有效值的空字段。

有什么方法可以使用数据屏蔽,但仅限于具有值的字段(不是空格,也不是空值)?

谢谢

【问题讨论】:

    标签: sql-server-2016 data-masking


    【解决方案1】:

    您可以使用CASE 表达式,当相关字段为NULL 或仅包含空格时,该表达式返回空字符串:

    SELECT
        CASE WHEN COALESCE(REPLACE(field, ' ', ''), '') <> ''
             THEN field
             ELSE '' END AS field_masked
    FROM yourTable;
    

    【讨论】:

    • 感谢您的帮助。我想知道是否有一种自动化的方法。我想避免对我的程序进行扩展重构......
    • 如果它解决了您的问题,您可以将此答案标记为正确。
    • 并非如此。我发现掩盖一个空字段并在之后编写代码以修复它很奇怪。它有什么用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多