oracle从某一个字符开始删除前面所有的字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle从某一个字符开始删除前面所有的字符相关的知识,希望对你有一定的参考价值。

例如:‘海城客运公司|中型高一 ’ ,我想删除‘|’前面的所有字符,怎么处理啊?

参考技术A SELECT SUBSTR('海城客运公司|中型高一',
INSTR('海城客运公司|中型高一', '|', 1, 1) + 1) SR
FROM DUAL;

UPDATE TAB T
SET COL = SUBSTR(COL, INSTR(COL, '|', 1, 1) + 1)
WHERE COL LIKE '%|%';
COMMIT;本回答被提问者采纳
参考技术B select substr('海城客运公司|中型高一',instr('海城客运公司|中型高一','|',1,1)+1) from dual

oracle 怎么样才能去掉字符串前面的零

如果字符串只有开头有零,而字符串中间没有0,那么可以使用replace(字符串,'0','')
如果0开头最长的位数不长,那么可以逐个判断。
比如我可能知道这里面最长的就是连续5个0开头的,这样我就判断如果遇到5个0开头的就截掉前五位,4个0开头截掉前四位,3个0开头截掉前三位,一直到1,逐个判断使用case when可以完成.但是如果最长的0开头个数不确定,就比较麻烦了。
参考技术A LTRIM
语法:LTRIM(string1,string2)
功能:返回删除从左边算起出现在string2中的字符的string1。String2被缺省设置为单个的空格。数据库将扫描string1,从最左边开始。当遇到不在string2中的第一个字符,结果就被返回了。LTRIM的行为方式与RTRIM很相似。
我想这个函数能满足你的要求

UPDATE 表 SET 列=LTRIM(列 ,0) ;
参考技术B 你可以用Repace函数,确定位置,将0替换成“”就好了!! 参考技术C 我也想学习下

以上是关于oracle从某一个字符开始删除前面所有的字符的主要内容,如果未能解决你的问题,请参考以下文章

oracle怎么截取指定字符后面的字符串,或者删除指定字符前面的字符串也行

oracle怎么去掉字符串的空格的数据

NotePad删除每一 某字符---------前面--------的所有字符 ^.*s

如何用shell脚本语言去截取字符串

oracle怎么截取指定字符后面的字符串,或者删除指定字符前面的字符串也行

Oracle获取字符串中某字符前面的数字