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根据分隔符截取字符串(sql语句分割字符串)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论