Маскування ідентифікаційної інформації за допомогою регулярних виразів
Регулярні вирази також можна використовувати для заміни взірців у рядках за допомогою REGEXP_REPLACE(). Ця функція подібна до REPLACE(). Її сигнатура: REGEXP_REPLACE(source, pattern, replace, flags).
pattern— це рядковий взірець, який потрібно знайти в рядкуsource.replace— це рядок, яким слід замінити взірець.flags— необов'язковий рядок для керування правилами зіставлення.
Наприклад, REGEXP_REPLACE(xyz, '\d', '_', 'g') замінить будь-який символьний знак цифри (\d) у стовпці xyz на підкреслювання (_). Прапорець g («global») гарантує, що буде замінено кожен збіг.
Щоб захистити приватність отримувачів штрафів за паркування в новому вебзвіті, усі літери в стовпці plate_id потрібно замінити на дефіс (-), щоб замаскувати справжній номерний знак.
Ця вправа є частиною курсу
Очищення даних у базах даних PostgreSQL
Інструкції до вправи
- Використайте
REGEXP_REPLACE(), щоб замінити всі великі літери (AдоZ) у стовпціplate_idна символ дефіса (-), щоб у звіті можна було використовувати замасковані номерні знаки.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
SELECT
summons_number,
-- Replace uppercase letters in plate_id with dash
___(___, ___, ___, 'g')
FROM
parking_violation;