substring_index的用法
substring_index(str,delim,count)
- str:要处理的字符串
- delim:分隔符
- count:计数(要截取的位置,正数为从左向右,负数为从右向左)
工作中遇到的案例:
排查生产问题的时候,需要从类似下面的日志中取出一个orderId这个字段对应的数字
customer_id=87380–>customer_id有最新跟进的订单,orderId=293976–>END
SQL语句:
select substring_index(substring_index( 'customer_id=87380-->customer_id有最新跟进的订单,orderId=293976-->END','orderId=',-1),'-->',1) as orderId;
-- 执行结果:293976
解释:
第一次substring_index从右向左截取了“293976–>END”
第二次substring_index从左向右截取了“293976”