Zacznij terazZacznij za darmo

Maskowanie danych identyfikacyjnych za pomocą wyrażeń regularnych

Wyrażeń regularnych można też używać do zastępowania wzorców w ciągach znaków – służy do tego funkcja REGEXP_REPLACE(). Działa podobnie do funkcji REPLACE(). Jej sygnatura to REGEXP_REPLACE(source, pattern, replace, flags).

  • pattern to wzorzec tekstowy, który ma zostać dopasowany w ciągu source.
  • replace to ciąg zastępczy, który pojawi się w miejsce dopasowanego wzorca.
  • flags to opcjonalny ciąg znaków kontrolujący sposób dopasowania.

Na przykład REGEXP_REPLACE(xyz, '\d', '_', 'g') zastąpi każdy znak cyfrowy (\d) w kolumnie xyz podkreśleniem (_). Flaga g ("global") sprawia, że zastąpione zostaną wszystkie dopasowania.

Aby chronić prywatność osób, które otrzymały mandaty parkingowe, w nowym raporcie internetowym wszystkie litery w kolumnie plate_id muszą zostać zastąpione myślnikiem (-), co zamaskuje prawdziwy numer tablicy rejestracyjnej.

To ćwiczenie jest częścią kursu

Czyszczenie danych w bazach PostgreSQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj funkcji REGEXP_REPLACE(), aby zastąpić wszystkie wielkie litery (od A do Z) w kolumnie plate_id myślnikiem (-), tak żeby w raporcie można było używać zamaskowanych numerów tablic rejestracyjnych.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

SELECT 
	summons_number,
	-- Replace uppercase letters in plate_id with dash
	___(___, ___, ___, 'g') 
FROM 
	parking_violation;
Edytuj i uruchom kod