数据格式如下:ac~defg~123gf~g~
abc~~123~ldfg~yyyy~
~~abc~33~~def~ccc~做分隔符
我现在要删除值是不知道的, 只知道这个值的位置比如ac~defg~123gf~g~ 看做一个数组的方式, ac代表0,defg代表1,依次向后推。 好比我现在好删除2这个位置的值。 就是删除123gf。 数据量可能在几万条的样子。
那位高手有没有办法?
abc~~123~ldfg~yyyy~
~~abc~33~~def~ccc~做分隔符
我现在要删除值是不知道的, 只知道这个值的位置比如ac~defg~123gf~g~ 看做一个数组的方式, ac代表0,defg代表1,依次向后推。 好比我现在好删除2这个位置的值。 就是删除123gf。 数据量可能在几万条的样子。
那位高手有没有办法?
解决方案 »
- ORA-04098:触发器无效且未通过重新验证
- ORACLE自增字段的问题,希望高手帮忙解决,谢谢。
- 在程序中,已经知道一张表,如何知道这张表有哪些列?急!请高手指点
- 大家进来讨论一下大型B2C商城数据库的设计
- 求助:判断表tb是否存在,存在则删除
- 如何用ODP.net(Oracle.DataAccess.Client非System.Data.OracleClient)生成类型化的DataSet?
- union 用法的問題,誰能讓它顯示兩條記錄。
- 自定义的用户为什么不能被导出?
- 求助,linux下怎么完全卸载oracle9i
- sql*loader问题! 紧急求救!!!在线等待!!!
- oracle job不运行的问题
- 视图优化问题,非常急,请高手帮助
g~',instr('ac~defg~123gf~g~','~',1,3)) from dual;SUBSTR('AC~DEFG~123G
--------------------
ac~defg~g~
SQL> SELECT RTRIM(REGEXP_SUBSTR('ac~~defg~~~123gf~g~','.*?'||'(~){1,}',1,3),'~') STR FROM DUAL;STR
-----
123gf
SQL> SELECT LTRIM(SUBSTR('ac~~defg~~~123gf~g~',
2 REGEXP_INSTR('ac~~defg~~~123gf~g~', '(~){1,}', 1, 2),
3 REGEXP_INSTR('ac~~defg~~~123gf~g~', '(~){1,}', 1, 3) -
4 REGEXP_INSTR('ac~~defg~~~123gf~g~', '(~){1,}', 1, 2)),
5 '~') STR
6 FROM DUAL;STR
-----
123gf
SQL> SELECT SUBSTR(REGEXP_REPLACE('ac~~defg~~~123gf~g~', '(~){1,}', '~'),
2 INSTR(REGEXP_REPLACE('ac~~defg~~~123gf~g~', '(~){1,}', '~'),
3 '~',
4 1,
5 2) + 1,
6 INSTR(REGEXP_REPLACE('ac~~defg~~~123gf~g~', '(~){1,}', '~'),
7 '~',
8 1,
9 3) -
10 INSTR(REGEXP_REPLACE('ac~~defg~~~123gf~g~', '(~){1,}', '~'),
11 '~',
12 1,
13 2) - 1) STR
14 FROM DUAL;STR
-----
123gf
不使用SQL,本来就是写的存储过程。各位帮忙写个完整的。 谢谢了