我需要一个sql查询来获取两个已知字符串之间的值,这两个字符串重复了很多次或两次。举个例子。
base- 2019|ACX9|PTG-C|PPP1-MMM1|7986847
期望的结果是源中的ppp1和存储中的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的来源。
有人能帮我找出哪里出了问题吗?
1条答案
按热度按时间o4hqfura1#
您似乎想解析分隔列表中倒数第二个项。你得先拿到,然后再分。那是三个
substring_index()
学生: