You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL如何从邮箱中提取@及之后的域名部分?

提取邮箱@及之后的域名部分的SQL解决方法

不用纠结邮箱长度,直接通过定位@的位置来截取就行,不同SQL数据库的写法如下:

MySQL/MariaDB

用LOCATE找到@的位置,再用SUBSTRING从该位置开始截取到末尾:

SELECT SUBSTRING(email, LOCATE('@', email)) AS domain
FROM your_table_name;

示例输入example_email@outlook.com,输出就是@outlook.com。

SQL Server

用CHARINDEX定位@,结合SUBSTRING和LEN截取:

SELECT SUBSTRING(email, CHARINDEX('@', email), LEN(email)) AS domain
FROM your_table_name;

PostgreSQL

用POSITION找到@的位置,再用SUBSTRING截取:

SELECT SUBSTRING(email FROM POSITION('@' IN email)) AS domain
FROM your_table_name;

或者用RIGHT函数也能实现:

SELECT RIGHT(email, LENGTH(email) - POSITION('@' IN email) + 1) AS domain
FROM your_table_name;

这些写法都能自动适配不同长度的邮箱,只要邮箱里包含@就能准确提取出@及之后的部分。

内容的提问来源于stack exchange,提问作者Fernanda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 13:10:36