【发布时间】:2019-06-03 09:02:50
【问题描述】:
我需要一个 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
与 base like 配合使用效果很好
2019|ACX9|PTGA|PPP1-MMM1|7986847
但不适用于 base like
2019|ACX9|PTG-C|PPP1-MMM1|7986847
这里给出的来源是 PTG。
有人可以帮我解决我哪里出错了吗?
【问题讨论】:
-
您应该将该字符串的各个元素存储为单独的列。那么查询就简单了。
标签: mysql sql indexing substring