场景:A表与B表存在两个系统,由于某种原因两个系统订单号命名规则不同,A表订单号order_no为ZM22072592228155;B表订单号order_code为ZM22072592228155、ZM22072592228155Z、ZM22072592228155Z、ZM22072592228155ZZZ;客户想要通过订单号关联A、B表,获得B表中的某些字段数据
解决方案:截取B表订单号"Z"之前的字符跟A表进行匹配
问题:订单号的长度不确定,并不是我举例"ZM22072592228155、ZM22072592228155Z、ZM22072592228155Z、ZM22072592228155ZZZ"这样固定长度
代码:
select
order_no,
case when right(order_no,1) = 'Z' and left(order_no,1) <> 'Z' then substring(order_no,1,instr(order_no,'Z')-1)
else order_no end order_no
from B