首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

截取,该怎么处理

2012-02-15 
截取应急设备(危险品运输训练合格证)-02乘务员初始训练培训证书-01怎么写截取语句,得到 “应急设备(危险品

截取
应急设备(危险品运输训练合格证)-02

乘务员初始训练培训证书-01

怎么写截取语句 ,得到 “应急设备(危险品运输训练合格证)" ,也就是得到-之前的数据、

[解决办法]

SQL code
select regexp_substr('乘务员初始训练培训证书-01', '[^-]+', 1, 1) from dual;
[解决办法]
截取有几种方式 可以通过调用正则来截取字符串 
oracle正则表达式从10G开始支持
内置了四个函数 REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR、REGEXP_REPLACE
 
REGEXP_SUBSTR与SUBSTR函数相同,返回截取的子字符串
REGEXP_SUBSTR(srcstr, pattern [, position [, occurrence [, match_option]]])
[解决办法]
SQL code
select substr('应急设备(危险品运输训练合格证)-02',1,instr('应急设备(危险品运输训练合格证)-02','-')-1) from dual;
[解决办法]
SQL code
SELECT SUBSTR('应急设备(危险品运输训练合格证)-02',1,INSTR('应急设备(危险品运输训练合格证)-02','-',1,1)-1) FROM dual
[解决办法]
实测成功

热点排行