-- 截取字符串函数: -- SUBSTRING_INDEX(str, delim, count) -- str: 要处理的字符串。 -- delim: 分割符,将str分割成两部分。 -- count: 计数(使用第几个分隔符)。 如果为正数,则从左开始数,返回分割后左边的子串;如果为负数,则从右开始数,返回右边的子串。

-- department_id_string 字段的值为: -1-4-88-220-223-, -- 例1: -- count 为正 -- 截取结果:-1-4 -- 用-1-4-88-220-223-中“左数”第三个“-”将字符串截取为两段,返回“左边”的子串。 SELECT SUBSTRING_INDEX(department_id_string,'-', 3) FROM f_common_bussiness_receipt_source rs WHERE rs.receipt_source_id='00025e5d-0bcf-11e9-aa45-0242ac110006'
-- 例2: -- count 为负 -- 截取结果:220-223- -- 用-1-4-88-220-223-中“右数”第三个“-”将字符串截取为两段,返回“右边”的子串。 SELECT SUBSTRING_INDEX(department_id_string,'-', -3) FROM f_common_bussiness_receipt_source rs WHERE rs.receipt_source_id='00025e5d-0bcf-11e9-aa45-0242ac110006'
-- 例3: -- 截取最右的部门 -- 截取结果:223 -- department_id_string 字段的值为 -1-4-88-220-223- SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(department_id_string,'-', -2),'-',1) FROM f_common_bussiness_receipt_source rs WHERE rs.receipt_source_id='008009f9-e498-11e8-9fb1-0242ac110005'


还没有评论,来说两句吧...