SQL查询语句,如何查询 一个邮箱的域名,比如一个邮箱为123@163.com,使用查询语句如何返回163.com

SQL查询语句,如何查询 一个邮箱的域名,比如一个邮箱为123@163.com,使用查询语句如何返回163.com,第1张

select substring(email_address, charindex('@',email_address,1)+1,len(email_address) - charindex('@',email_address,1)) as domain

from tablename

第一个是字符串定位的函数,SQLSERVER使用CHARINDEX('@', EMAIL),ORACLE使用INSTR(EMAIL,'@')。知道了这个符号的位置,那么截取之前的部分就可以得到了。当然,开头不能有除了邮箱之外的其他字符串了。

SQLSERVER可以使用:SELECT SUBSTRING(EMAIL,1, CHARINDEX('@', EMAIL) - 1) FROM 表名

ORACLE使用:SELECT SUBSTR(EMAIL,1, INSTR(EMAIL,'@') - 1) FROM 表名

电子邮箱的域名都有一个显著的特征,就是无论是什么后缀,都会有符号@,因此我们可以利用这个特性使用公式

1、提取邮箱用户名,公式为:=LEFT(A1,FIND("@",A1)-1)。公式解析:用find函数找到@字符的位置,然后用left函数取出@字符左边的字符数。为什么要减1,是因为@字符本身占了一个位置。

2、提取邮箱域名,公式:=RIGHT(A1,(LEN(A1)-FIND("@",A1)))。公式解析:用find函数找到@字符的位置,然后用len函数计算总的字符数,并相减,在用right函数去除右边的邮箱域名。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/63568.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-28
下一篇2023-02-28

发表评论

登录后才能评论

评论列表(0条)

    保存