select substr(WAFERNO,1,instr(WAFERNO,'-',1,2)-1),a.* from 表名这么写的话,会出现上面的问题。
发现了规律,不管怎么样,就是后面都是单纯的数字,例如0-0-0-17或者2-6-9-16或者2-6-9等,不会有和字母组合。。。但是前半部分都会有字母组合,比如PF932-022DF2等
如何用Oracle做好提取呢?
我想到的是把字符串按照-进行拆分并列转行+序号。过滤掉纯数字的区段后,然后根据序号及你那个字段再进行行转列的合并
select substr(WAFERNO,1,len(WAFERNO)-instr(reverse(WAFERNO),'-',1,3)),a.* from
-----------------
oracle可能是length 不是len 没环境 你自己试吧
你这个的规律就是 字母数字-字母跟-纯数字,去除-纯数字的部分
参考 Oracle 正则表达式函数-REGEXP_REPLACE