[英]How to replace all the dots before @ in an email with empty string in Oracle SQL?
我想用oracle查询中的empty string
替换电子邮件中@
之前的所有dots
喜欢:
anurag.mart@hotmail.com >> anuragmart@hotmail.com
最简单的方法是使用REGEXP_REPLACE识别模式并将其替换为所需的模式。
regexp_replace('anurag.mart@hotmail.com', '(\w+)\.(\w+)(@+)', '\1\2\3')
例如,
SQL> SELECT 'anurag.mart@hotmail.com' email_id,
2 regexp_replace('anurag.mart@hotmail.com', '(\w+)\.(\w+)(@+)', '\1\2\3') new_email_id
3 FROM dual;
EMAIL_ID NEW_EMAIL_ID
----------------------- ----------------------
anurag.mart@hotmail.com anuragmart@hotmail.com
@
) 1
)和end( @
)位置之间的数据 .
与''
尝试这个
SELECT Replace(Substr('anurag.mart@hotmail.com', 1,
Instr('anurag.mart@hotmail.com', '@', 1)), '.', '')
|| Substr('anurag.mart@hotmail.com', Instr('anurag.mart@hotmail.com','@')+1)
FROM dual
结果:
anuragmart@hotmail.com
我在寻找 SQL 服务器的解决方案时来到这个页面,我为我的项目转换了上面的 SQL 服务器,如果其他人需要它,这里是 SQL。
SELECT
CONCAT(
REPLACE(
SUBSTRING(EmailAddress, 1, CHARINDEX('@', EmailAddress)-1),
'.',
''
),
SUBSTRING(EmailAddress, CHARINDEX('@', EmailAddress), LEN(EmailAddress))
)
FROM [Applicant]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.