sql - SQL Server 删除字符之间的部分字符串
问题描述
我的电子邮件如下所示:
john.doe.946a9979-2951-4852-9e79-ad03eb0c1e5d@gmail.com
我试图得到这个输出:
john.doe@gmail.com
到目前为止我有这个......它很接近。
SELECT
Caller = REPLACE(Caller,
SUBSTRING(Caller,
CHARINDEX('.', Caller),
CASE WHEN CHARINDEX('@', Caller, CHARINDEX('.', Caller)) > 1 THEN
CHARINDEX('@', Caller, CHARINDEX('.', Caller)) - CHARINDEX('.', Caller)
ELSE
LEN(Caller)
END ) , '')
FROM
some.table
解决方案
嗯。我怀疑您要删除的字符串的长度是固定的。那么怎么样:
select stuff(caller, charindex('@',caller ) - 37, 37, '')
推荐阅读
- extjs - ExtJS 组件查询
- python - python文件有shell解释器和python代码——它是如何解释的
- java - 我怎样才能写清单
以课堂形式 - python - 模块 jupyter-vuetify semver 范围未注册为小部件模块
- php - Laravel 本地化嵌套 JSON 语言文件
- android - Android - 使用 ViewPager2 设置 setOffscreenPageLimit 会导致屏幕在方向更改时失真
- java - 覆盖 REST API 中的特定资源
- c# - 合并两个列表并排序
- vue.js - bootstrap-vue 表,Formatter 回调错误:您可能在组件渲染函数中有无限更新循环
- java - 如何打开安卓设备的前置手电筒(不是后置手电筒)