使用正则表达式屏蔽可识别信息
正则表达式还可以通过 REGEXP_REPLACE() 在字符串中替换匹配的模式。该函数与 REPLACE() 类似。其签名为 REGEXP_REPLACE(source, pattern, replace, flags)。
pattern是要在source字符串中匹配的字符串模式。replace是用于替换该模式的字符串。flags是可选字符串,用于控制匹配方式。
例如,REGEXP_REPLACE(xyz, '\d', '_', 'g') 会将列 xyz 中的任意数字字符(\d)替换为下划线(_)。g("global")标志表示替换所有匹配项。
为在新的网页报告中保护违章停车接收人的隐私,需要将 plate_id 列中的所有字母替换为连字符(-),以掩盖真实车牌号。
本练习是课程的一部分
在 PostgreSQL 数据库中清理数据
练习说明
- 使用
REGEXP_REPLACE()将plate_id列中所有大写字母(A到Z)替换为连字符(-),以便在报告中使用已屏蔽的车牌号。
交互式实操练习
通过完成这段示例代码来试试这个练习。
SELECT
summons_number,
-- Replace uppercase letters in plate_id with dash
___(___, ___, ___, 'g')
FROM
parking_violation;