gpt4 book ai didi

mysql - SQL 中重复字符串时的子字符串索引

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

我需要一个 SQL 查询来获取两个重复多次或两次的已知字符串之间的值。一个例子。

base- 2019|ACX9|PTG-C|PPP1-MMM1|7986847

所需结果是 Source 中的 PPP1 和 store_loc 中的 MMM1。

到目前为止我已经想出了这个

select
base,
substring_index(substring_index (base,'-',1),'|',-1) as source,
substring_index(substring_index (base,'-',-1),'|',1) as store_loc

from order_tracking

它与像这样的底座一起工作得很好

2019|ACX9|PTGA|PPP1-MMM1|7986847

但不能像这样使用基础

2019|ACX9|PTG-C|PPP1-MMM1|7986847

此处给出的源为 PTG。

有人可以帮我解决我哪里出错了吗?

最佳答案

您似乎想要解析分隔列表中的倒数第二项。你需要先得到它,然后再分割它。这是三个 substring_index():

select substring_index(substring_index(substring_index(base, '|', -2), '|', 1), '-', 1), as source,
substring_index(substring_index(substring_index(base, '|', -2), '|', 1), '-', -1) as store_loc
from (select '2019|ACX9|PTG-C|PPP1-MMM1|7986847' as base) x

关于mysql - SQL 中重复字符串时的子字符串索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54095718/

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