Как предотвратить маскировку данных в SQL2016 - PullRequest
0 голосов
/ 27 августа 2018

Когда я использую динамическое маскирование данных в SQL2016

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

Оператор выбора возвращает значение

"XXXXXXX"

Для пустых полей, которые не являются допустимыми значениями для моего процесса.

Есть ли способ использовать маскирование данных, но только для полей со значениями (не пробелы и не нули)?

Спасибо

1 Ответ

0 голосов
/ 27 августа 2018

Вы можете использовать выражение CASE, которое возвращает пустую строку, когда рассматриваемое поле либо NULL, либо содержит только пробелы:

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