引言

    在mysql中,有时候需要提取某个表某个字段中的部分值,如Address字段的值为A-B-C,想要获取address字段的A 或 B 或 C部分的值。

  1:提取后部分的值

select
order_no,chassis_no, l.path_desc,
IFNULL(substring_index(l.path_desc, "-",- 1 ), '' ) AS Address
from dfcv_vps_plus_tbdeliveryinfo l where chassis_no ='L6000798'

 

 

 2:提取前部分的值

select
order_no,chassis_no, l.path_desc,
IFNULL(substring_index(l.path_desc, "-", 1 ), '' ) AS Address
from dfcv_vps_plus_tbdeliveryinfo l where chassis_no ='L6000798'

     总结: 这时候我们可以使用substring_index(x,"y ",z) 函数来进行查询处理,x就是要查询的字段,y为要分割的字符,z为正整数或负整理,正数取分割字符前边的值,负数取分割字符后边的值