Mascarea informațiilor de identificare cu expresii regulate
Expresiile regulate pot fi folosite și pentru a înlocui tipare din șiruri de caractere cu ajutorul funcției REGEXP_REPLACE(). Aceasta funcționează similar cu REPLACE(), iar semnătura ei este REGEXP_REPLACE(source, pattern, replace, flags).
patterneste tiparul de șir de căutat însource.replaceeste șirul de înlocuire care va fi utilizat în locul tiparului.flagseste un șir opțional folosit pentru a controla modul de potrivire.
De exemplu, REGEXP_REPLACE(xyz, '\d', '_', 'g') înlocuiește orice caracter cifră (\d) din coloana xyz cu un underscore (_). Indicatorul g („global") asigură că fiecare potrivire este înlocuită.
Pentru a proteja confidențialitatea persoanelor care au primit amenzi de parcare într-un nou raport web, toate literele din coloana plate_id trebuie înlocuite cu o liniuță (-) pentru a masca numărul real de înmatriculare.
Acest exercițiu face parte din cursul
Curățarea datelor în baze de date PostgreSQL
Instrucțiuni pentru exercițiu
- Folosește
REGEXP_REPLACE()pentru a înlocui toate literele majuscule (de laAlaZ) din coloanaplate_idcu o liniuță (-), astfel încât numerele de înmatriculare mascate să poată fi utilizate în raport.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
SELECT
summons_number,
-- Replace uppercase letters in plate_id with dash
___(___, ___, ___, 'g')
FROM
parking_violation;