gpt4 book ai didi

mysql - SQL获取字段中间的字符

转载 作者:行者123 更新时间:2023-11-29 17:36:29 25 4
gpt4 key购买 nike

在我的表中,我有一个实际上是数组的字段,其中所有条目的结构为 {"key1": value1, "key2": value2...}

我需要仅基于这些键之一“电子邮件”进行一些分析,但无法弄清楚如何在查询中仅返回电子邮件地址,因为长度是可变的。子字符串的开头可预测在“email”(包含引号)之后,结尾可预测为“.com”(不包含引号)。

现在我的查询如下所示:

select substring(`fieldname`, locate('"email"', `fieldname`) + 9, 20) 
as 'Customer Email'
from table
where `fieldname` in ('email_processed', 'email_delivered')

所以我得到了地址开头后的 20 个字符,但我不知道如何使该动态到电子邮件后缀的末尾。

如何隔离字段中的电子邮件地址?

最佳答案

通过使用后续键的位置来定义我的端点(加上一点调整):

select substring(`fieldname`, locate("key1", `fieldname`) + 9, 
locate("key2", `fieldname`) - locate("key1", `fieldname`) - 12)
as 'Customer Email'`
from table

关于mysql - SQL获取字段中间的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50241118/

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