如何把一个长字符串按指定字符并且要在规定的每段最大长度内进行分段 或者不截取为N段字符串,直接在将要分段的地方插入个字符“NL”也可以~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 -- 因为不支持中文,所以只好用NAME代替。 TRY IT ..SQL> SELECT SUBSTR(STR || 'NAME', 2 INSTR(STR || 'NAME', 'NAME', 1, RN), 3 INSTR(STR || 'NAME', 'NAME', 1, RN + 1) - 4 INSTR(STR || 'NAME', 'NAME', 1, RN)) NEW_STR 5 FROM TABLE_NAME SS, 6 (SELECT ROWNUM RN 7 FROM ALL_OBJECTS 8 WHERE ROWNUM <= 9 (SELECT (LENGTHB(STR) - LENGTHB(REPLACE(STR, 'NAME', ''))) / 10 LENGTHB('NAME') 11 FROM TABLE_NAME)) AO 12 WHERE INSTR(STR || 'NAME', 'NAME', 1, RN) > 0;NEW_STR--------------------------------------------------------------------------------NAME:ZHANGSHA/MAIL:[email protected]/MOBILE:13500000000/TELEPHONE:01012345678NAME:LISHI/MAIL:[email protected]/MOBILE:13500000001/TELEPHONE:02012345678NAME:ZHANGSHA/MAIL:[email protected]/MOBILE:13500000000/TELEPHONE:01012345678NAME:LISHI/MAIL:[email protected]/MOBILE:13500000001/TELEPHONE:02012345678NAME:ZHANGSHA/MAIL:[email protected]/MOBILE:13500000000/TELEPHONE:01012345678NAME:LISHI/MAIL:[email protected]/MOBILE:13500000001/TELEPHONE:020123456786 rows selected 存贮过程你自已可以学着编,不过这里要提示楼主一下:使用ASCII,lenth,lenthb,substr函数,先了解一下,如:SELECT ASCII(';') FROM dual;select lenth('abcdefg') from dual;select lenth('abc中国') from dual;select lenthb('abc中国') from dual;select substr('abcde中国',3,2); 如何获取exp运行的信息如错误信息和操作信息 sql查询 除了游标还有什么办法可以循环表 用数据集DS向Oracle表填充出错 存储过程相关查询 再线等待。。。 oracle9i 里面 怎么判断字长的,那 sql server2k里面有怎么样判断的呢?? 关于数据库连接的问题,急 我安装完oracle9i后,不能进入sql plus???? 简单问题,如何删掉主键,如何建复合主键?在线等待,急急急 从网页上采集数据,但传入数据库中文无法显示,且数据只有20条 insert语句的问题:插入重复数据时语句的书写。 请教大家一个问题
SQL> SELECT SUBSTR(STR || 'NAME',
2 INSTR(STR || 'NAME', 'NAME', 1, RN),
3 INSTR(STR || 'NAME', 'NAME', 1, RN + 1) -
4 INSTR(STR || 'NAME', 'NAME', 1, RN)) NEW_STR
5 FROM TABLE_NAME SS,
6 (SELECT ROWNUM RN
7 FROM ALL_OBJECTS
8 WHERE ROWNUM <=
9 (SELECT (LENGTHB(STR) - LENGTHB(REPLACE(STR, 'NAME', ''))) /
10 LENGTHB('NAME')
11 FROM TABLE_NAME)) AO
12 WHERE INSTR(STR || 'NAME', 'NAME', 1, RN) > 0;NEW_STR
--------------------------------------------------------------------------------
NAME:ZHANGSHA/MAIL:[email protected]/MOBILE:13500000000/TELEPHONE:01012345678
NAME:LISHI/MAIL:[email protected]/MOBILE:13500000001/TELEPHONE:02012345678
NAME:ZHANGSHA/MAIL:[email protected]/MOBILE:13500000000/TELEPHONE:01012345678
NAME:LISHI/MAIL:[email protected]/MOBILE:13500000001/TELEPHONE:02012345678
NAME:ZHANGSHA/MAIL:[email protected]/MOBILE:13500000000/TELEPHONE:01012345678
NAME:LISHI/MAIL:[email protected]/MOBILE:13500000001/TELEPHONE:020123456786 rows selected
先了解一下,如:SELECT ASCII(';') FROM dual;
select lenth('abcdefg') from dual;
select lenth('abc中国') from dual;
select lenthb('abc中国') from dual;
select substr('abcde中国',3,2);