我DB中有一字符串字段,其数据格式如下:
”时间”※”业务类别”※”服务类别”※”手机号”※”帐号”※”变动的金额”;
它是有很多值组合起来的,用"※"把值分割.
一个我想写一个SQL语句,只把业务类别取出来请问怎么做?
取由于业务类别的长度不定,所以取子串不能实现!
”时间”※”业务类别”※”服务类别”※”手机号”※”帐号”※”变动的金额”;
它是有很多值组合起来的,用"※"把值分割.
一个我想写一个SQL语句,只把业务类别取出来请问怎么做?
取由于业务类别的长度不定,所以取子串不能实现!
select substr( column_name,
--第一个'※'的位置
nvl(instr(column_name,'※'),0) + 1,
--第一和第二个'※'之间的字符数
nvl(
instr(
nvl(instr(column_name,'※'),0) + 1,length(column_name)),
'※'
),1
) - 1
)
from table_name
INSTR('字符串','※', 1, 2)-INSTR('字符串','※', 1, 1)-1)
FROM 表名;
-- '字符串'就是指”时间”※”业务类别”※”服务类别”※”手机号”※”帐号”※”变动
-- 的金额”;