gpt4 book ai didi

sql - 如何在 SQL 中仅返回长度不同的字符串的一部分?

转载 作者:行者123 更新时间:2023-12-03 01:23:57 24 4
gpt4 key购买 nike

我有一个只有 1 列包含字符串的表。我只想获取电子邮件地址。我怎样才能做到这一点?我查看了 Substring/Ltrim 等,但我无法拼凑出如何仅提取字符串的一部分。我对 SQL 相当陌生。感谢您的帮助!

Column1:

John Smith Email: John.Smith@987456email.com Terminate:

Jacqueline Smith Email: Jacqueline.Smith@987456email.com Terminate:

最佳答案

假设电子邮件以 Email: 为前缀并且不包含空格,您可以只取 Email: 之后和下一个空格(或字符串结尾)之前的所有字符);

SELECT CASE WHEN CHARINDEX(' ', a.em) <> 0 
THEN SUBSTRING(a.em, 1, CHARINDEX(' ', a.em) - 1)
ELSE a.em END email
FROM (
SELECT SUBSTRING(column1, CHARINDEX('Email: ', column1) + 7, LEN(column1)) em
FROM mytable
) a

子查询保留 Email: 之后的所有内容,而外部查询则剪切下一个空格(或字符串末尾)后面的所有内容。

该查询假设存在 Email: 标记,如果不能保证这一点,您将需要使用 WHERE 来确保只有具有该标记的行才会出现被退回。

An SQLfiddle to test with .

关于sql - 如何在 SQL 中仅返回长度不同的字符串的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25875824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com