Offuscare dati identificativi con espressioni regolari
Le espressioni regolari possono anche essere usate per sostituire pattern nelle stringhe tramite REGEXP_REPLACE(). La funzione è simile a REPLACE(). La sua firma è REGEXP_REPLACE(source, pattern, replace, flags).
patternè il pattern di stringa da cercare nella stringasource.replaceè la stringa di sostituzione da usare al posto del pattern.flagsè una stringa opzionale usata per controllare il matching.
Per esempio, REGEXP_REPLACE(xyz, '\d', '_', 'g') sostituirebbe qualsiasi cifra (\d) nella colonna xyz con un trattino basso (_). Il flag g ("global") assicura che ogni corrispondenza venga sostituita.
Per tutelare la privacy dei destinatari delle multe per parcheggio in un nuovo report web, tutte le lettere nella colonna plate_id devono essere sostituite con un trattino (-) per mascherare il vero numero di targa.
Questo esercizio fa parte del corso
Pulizia dei dati nei database PostgreSQL
Istruzioni dell'esercizio
- Usa
REGEXP_REPLACE()per sostituire tutte le lettere maiuscole (daAaZ) nella colonnaplate_idcon un trattino (-) così da poter usare nel report numeri di targa mascherati.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
SELECT
summons_number,
-- Replace uppercase letters in plate_id with dash
___(___, ___, ___, 'g')
FROM
parking_violation;