SQL截取字符串,SQL分割字符串函数

-- 截取字符串函数:
-- 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'

你可能感兴趣的:(SQL)