Mysql截取字符串

Mysql截取字符串

有一个结果集返回为这样

122358485629275667_111986213
000000007370ba38017373f964e70097_root
00000000736bd81a01736bff3e5c243c_111986213
000000007397f5ab0173983cb16e0c20_111986213

现要取_符号两边的字符

取左边字符

SELECT
CASE WHEN INSTR( 需要截取的字段, '_' )> 0 THEN LEFT( 需要截取的字段, INSTR( 需要截取的字段, '_' ) - 1 ) 
-- 写成这样是为了避免分割符不存在
ELSE 需要截取的字段 END
FROM 
XXXX

结果:

image-20221014102609978

取右边字符

SELECT
CASE WHEN INSTR( 需要截取的字段, '_' )> 0 THEN SUBSTR( 需要截取的字段, INSTR( 需要截取的字段, '_' ) + 1 ) 
-- 写成这样是为了避免分割符不存在
ELSE 需要截取的字段 END
FROM 
XXXX

image-20221014102638187

评论区
头像