ПочатиПочніть безкоштовно

Маскування ідентифікаційної інформації за допомогою регулярних виразів

Регулярні вирази також можна використовувати для заміни взірців у рядках за допомогою 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;
Редагувати та запускати код