Maskování identifikačních údajů pomocí regulárních výrazů
Regulární výrazy lze také použít k nahrazování vzorů v řetězcích pomocí funkce REGEXP_REPLACE(). Tato funkce je podobná funkci REPLACE() a má následující signaturu: REGEXP_REPLACE(source, pattern, replace, flags).
patternje vzor, který se hledá ve zdrojovém řetězcisource.replaceje náhradní řetězec, který se použije místo nalezeného vzoru.flagsje nepovinný řetězec pro řízení porovnávání.
Například REGEXP_REPLACE(xyz, '\d', '_', 'g') nahradí každý číselný znak (\d) ve sloupci xyz podtržítkem (_). Příznak g ("global") zajistí, že se nahradí všechny výskyty.
Aby byla chráněna soukromí příjemců pokut za parkování v novém webovém přehledu, musí být všechna písmena ve sloupci plate_id nahrazena pomlčkou (-), která zakryje skutečné číslo SPZ.
Toto cvičení je součástí kurzu
Cleaning Data in PostgreSQL Databases
Pokyny k cvičení
- Pomocí funkce
REGEXP_REPLACE()nahraď všechna velká písmena (AažZ) ve sloupciplate_idznakem pomlčky (-), aby bylo možné v přehledu používat maskovaná čísla SPZ.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
SELECT
summons_number,
-- Replace uppercase letters in plate_id with dash
___(___, ___, ___, 'g')
FROM
parking_violation;