如何在Google BigQuery中按@分隔符拆分电子邮件列
邮箱字段按
@拆分为两列的实现方案 以下是不同场景下的常用实现方法:
SQL实现
MySQL
SELECT 邮箱字段, SUBSTRING_INDEX(邮箱字段, '@', 1) AS 用户名, SUBSTRING_INDEX(邮箱字段, '@', -1) AS 邮箱域名 FROM 你的表名;
PostgreSQL
SELECT 邮箱字段, SPLIT_PART(邮箱字段, '@', 1) AS 用户名, SPLIT_PART(邮箱字段, '@', 2) AS 邮箱域名 FROM 你的表名;
SQL Server(2016及以上版本)
SELECT 邮箱字段, LEFT(邮箱字段, CHARINDEX('@', 邮箱字段) - 1) AS 用户名, RIGHT(邮箱字段, LEN(邮箱字段) - CHARINDEX('@', 邮箱字段)) AS 邮箱域名 FROM 你的表名;
Oracle
SELECT 邮箱字段, SUBSTR(邮箱字段, 1, INSTR(邮箱字段, '@') - 1) AS 用户名, SUBSTR(邮箱字段, INSTR(邮箱字段, '@') + 1) AS 邮箱域名 FROM 你的表名;
Excel实现
- 用户名公式:
=LEFT(A2,FIND("@",A2)-1)(A2为邮箱所在单元格) - 域名公式:
=RIGHT(A2,LEN(A2)-FIND("@",A2))
也可以直接使用「数据」选项卡的「分列」功能,自定义分隔符输入@即可批量拆分。
Python Pandas实现
import pandas as pd df[['用户名', '邮箱域名']] = df['邮箱字段'].str.split('@', expand=True)
内容的提问来源于stack exchange,提问作者Mishal
相关产品推荐
相关产品推荐

