用正则替换字符,示例代码:
SELECT aa
,REGEXP_REPLACE(aa, '[a-z]', '') -- 替换所有字母
,REGEXP_REPLACE(aa, '[abc]', '') -- 替换指定字母
,REGEXP_REPLACE(aa, '[^abc]', '') -- 替换所有非字母
,REGEXP_REPLACE(aa, '[0-9]', '') -- 替换所有数字
,REGEXP_REPLACE(aa, '[\s\S]', '') -- 替换空白符、换行,\s:是匹配所有空白符,包括换行,\S:非空白符,不包括换行。
,REGEXP_REPLACE(aa, '\w', '') -- 替换所有字母、数字、下划线。等价于 [A-Za-z0-9_]
,REGEXP_REPLACE(aa, '[-8+]', '') -- 只替换-8这个字符
,REGEXP_REPLACE(aa, '[-8*]', '') -- 替换-8、-、8这几个字符
FROM (
SELECT '5e40b2b8-0916-42c0-899a-eaf4b2df 5268' AS aa
UNION ALL
SELECT 'c81b5906-38d7-482c-8b66-be5d3359cbf6' AS aa
UNION ALL
SELECT '8856fd0a-2337-4605-963f-0d0d059b1937' AS aa
) t
;
这篇博客探讨了如何在SQL中使用正则表达式进行字符串操作,例如替换特定字符或模式。示例代码展示了如何替换字母、指定字母、非字母、数字、空白符、所有字符以及特定字符组合,适用于数据清洗和处理。通过多个示例,读者可以学习到如何在SQL查询中灵活运用正则表达式来处理复杂的数据转换任务。
2万+

被折叠的 条评论
为什么被折叠?



