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

如何在SQL Server中从指定格式字符串提取邮箱地址

提取指定区间内的邮箱地址解决方案

你要提取字符串中位于User:之后、TextClient:之前的邮箱地址,之前的写法逻辑绕弯导致结果冗余,试试下面这个更直接精准的方法:

WITH emailString AS
(
    SELECT 'Text Draft Saved - User: v-test123@blah.com TextClient: Blah' AS st
)
SELECT
    st,
    LTRIM(RTRIM(SUBSTRING(st, 
        CHARINDEX('User:', st) + 5,  -- 跳过"User:"的5个字符长度,定位到邮箱起始位置
        CHARINDEX('TextClient:', st) - (CHARINDEX('User:', st) + 5)
    ))) AS extracted_email
FROM emailString

逻辑说明

  1. CHARINDEX('User:', st)找到User:在字符串里的起始位置,加上5(User:的字符数),得到邮箱内容的起始点;
  2. CHARINDEX('TextClient:', st)找到TextClient:的起始位置,用它减去邮箱起始点的数值,得到需要截取的邮箱长度;
  3. SUBSTRING按上述起止位置截取内容,最后用LTRIM/RTRIM去掉前后多余空格,得到干净的邮箱地址。

运行后extracted_email列会返回v-test123@blah.com,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 20:12:05