如何在PostgreSQL中屏蔽电子邮件地址字符串?
我想屏蔽电子邮件如下testemail@gmail.com到te*****il@gmail.com
- 取消屏蔽电子邮件域前的前两个和后两个字符(@符号)
- 用 * 屏蔽中间的所有字符
我试图用
POSITION
标识@符号LENGTH
(POSITION
左侧的字符)
但是PostgreSQL没有一个类似于excel =REPLACE (old_text, start_num, num_chars, new_text)
的简洁的解决方案,您可以设置start_num
和num_chars
2条答案
按热度按时间bejyjqdl1#
试试这个:
为了方便起见,你可以创建一个SQL函数:
jslywgbw2#
要屏蔽PostgreSQL中的电子邮件,您可以使用regexp_replace函数。
其语法为
regexp_replace(source, pattern, replacement [, start [, N ]] [, flags ])
。SQL查询:
输出: