oracle符串怎么分 oracle 字符串比较

oracle 如何拆分字符串

创建与A相同结构的表A_temp

10年积累的网站建设、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有乐清免费网站建设让你可以放心的选择与我们合作。

create or replace procedure busi_bm is

lstr varchar2(1000);

ln   number;

mid a_test.id%type;

m_bm a_test.bm%type;

begin

for rec_dia in (select *

from a_test t) loop

if rec_dia.bm = replace(rec_dia.bm, ',') then

--只有一个值

insert into a_test_temp values(rec_dia.id,rec_dia.bm);

commit;

else

lstr    := rec_dia.bm || ',';

loop

ln := instr(lstr, ',');--第一个逗号的索引  a,b,c

exit when(nvl(ln, 0) = 0);--没有逗号了,退出

m_bm := ltrim(rtrim(substr(lstr, 1, ln - 1)));--获得a

lstr       := substr(lstr, ln + 1);--b,c

insert into a_test_temp values(rec_dia.id,m_bm);

commit;

end loop;

end if;

end loop;

end busi_bm;

执行上面的存储过程,写入到A_TEMP表。记得到了你要的结果。

记得采纳!

如何实现Oracle中字符串分隔

在OracleE数据库的应用中,经常遇到要对一个长的字符串按指定的分割符进行分割的情况,这种分割的方法很多,在此介绍一个实际应用中觉得比较实用的方法。根据面向对象的编程思想,把这个功能封装在一个包中实现,包头的实现如下:create or replace package pkg_split_str is--Purpose:按分隔符遍历字符串type t_strs is table of varchar2(255)index by binary_integer;v_split_strs t_strs;--对字符串按指定分割符时行分割的主要过程procedure split_str(i_str in varchar2,i_delimiter in varchar2);--总共有多少个子串function getEleCount return integer;--取出指定位置的子串function getElement(i_idx in integer)return varchar2;--测试程序procedure mytest(i_str in varchar......

ORACLE 怎么拆分字符串

拆分sql后:

select 

substr('Hello World',0,instr('Hello World','o')) as 首,

substr('Hello World',instr('Hello World','o')+1) as 尾

from dual;

有什么规定吗?

“ABCDEFGH”或是“A,B,C,D,E,F,G,H"

按符号拆分?按位置拆分?

substr()函数:截取a-b之间的或a 。如:substr('Hello World',0,5)截取1-5或

substr('Hello World',0,instr('Hello World','o'))截取1-"o"的位置

1.如果是","等符号:

select substr('Hello World',0,instr('Hello World','o'))  from dual;

select substr('Hello World',instr('Hello World','o')+1)  from dual;

select substr('Hello World',instr('Hello World','o')+1,length('Hello World'))  from dual;

oracle拆分字符串,求帮助

order by substr(assnumber ,instr(assnumber,'[')+1, 4) || lpad( substr(assnumber ,instr(assnumber,']')+1, instr(assnumber,'号')- instr(assnumber,']')-2 ),2 ,'0') desc

Oracle有没有什么方法可以将一个字符串分割成一个个字符输出来

单个语句无法实现

可以写个PLSQL块来实现

declare

s char(10);

i int;

begin

s:='123456' ;

for i in 1..length(trim(s))

loop

dbms_output.put_line( substr(s,i,1) );

end loop ;

end;

oracle里面怎么分割字符串

(1)定义split_type类型:

CREATE OR REPLACE TYPE split_type IS TABLE OF VARCHAR2 (4000) /

(2)定义split函数:

CREATE OR REPLACE FUNCTION split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN split_type IS j INT := 0; i INT := 1; len INT := 0; len1 INT := 0; str VARCHAR2 (4000); my_split split_type := split_type (); BEGIN len := LENGTH (p_str); len1 := LENGTH (p_delimiter); WHILE j len LOOP j := INSTR (p_str, p_delimiter, i); IF j = 0 THEN j := len; str := SUBSTR (p_str, i); my_split.EXTEND; my_split (my_split.COUNT) := str; IF i = len THEN EXIT; END IF; ELSE str := SUBSTR (p_str, i, j - i); i := j + len1; my_split.EXTEND; my_split (my_split.COUNT) := str; END IF; END LOOP; RETURN my_split; END split; /

(3)存储过程中,使用类似

For T In ( select a,b,c,d from table (split('1,2,3,4',',')) ) Loop

--注意下面的inserti语句,varchar类型的值需要补充引号上去

Execute Immediate ' insert into tableName set fieldName = '||T.a ;

Execute Immediate 'commit';

End Loop;

的查询语句,把分开的结果拼成sql语句并写入到表中。


本文名称:oracle符串怎么分 oracle 字符串比较
标题链接:http://pwwzsj.com/article/hhjoid.html