sql - 使用if条件的sql多场景
问题描述
我有列电子邮件,对于某些 ID,有多个 .
email
adi@gmail.com
lim@yy.com lim@ey.com
kim@ec.com kim@ef.com ki@yy.com
我的要求是只获得第一个 id
我的查询:
select SUBSTRING(email, 0, CHARINDEX(' ', email)) AS [First]
from aditya_dbprofile
这是可行的,但是在有单个电子邮件的情况下,它会显示为空白。
帮助!!
解决方案
可能的解决方案是在值之后添加空格email
并使用LEFT()
or SUBSTRING()
:
SELECT LEFT(email, CHARINDEX(' ', CONCAT(email, ' '))) AS [First]
FROM aditya_dbprofile
-- or
SELECT SUBSTRING(email, 1, CHARINDEX(' ', CONCAT(email, ' '))) AS [First]
FROM aditya_dbprofile
推荐阅读
- javascript - React:判断一个元素是否在另一个 ref 容器中
- excel - 在两个用户表单之间传递数据不起作用
- unity3d - Unity OnMouseEnter() 或 OnMouseOver() 不起作用
- c - 将文件映射到内存并写入文件末尾
- javascript - 使这种形状(附图片)完全发挥作用的最佳方法是什么?
- node.js - 带有子节点的 graphql 订阅似乎对我不起作用
- ruby - 如何从文件中删除行而不在 ruby 中创建临时文件?
- java - 无法从 HttpURLConnection POST 方法获得响应
- php - 获取递归 Laravel 关系中的最后一项
- react-router - Gatsby JS:在 onRouteUpdate 之后集成 cubeportfolio 库和重绘