首页 > 解决方案 > 如何从 SQL 中的特定字符中拆分字符串?

问题描述

我在带有电子邮件的数据框中有一列。我想获取@之后的字符并将其放入另一列。我如何在 SQL 中做到这一点?

前任:

电子邮件

ana@gmail.com

will@yahoo.com

输出

新专栏

gmail.com

雅虎

标签: mysqlsql

解决方案


在 Postgres 中:

select split_part(email, '@', 2)
from (values ('ana@gmail.com')) t1(email);

如果没有,将工作并返回一个空字符串'@'

或者一个不太优雅的选择......

select right(email, (length(email) - position('@' in email))) 
from (values ('ana@gmail.com')) t1(email);

如果没有,也可以工作并返回原始字符串'@'


推荐阅读