pl/sql 里怎么实现将一个字符串拆分成若干个子字符串?? 在线求解 !

如题所述

declare @maxlenth int,@i int,@j int,@sql varchar(8000)
select @maxlenth=0,@i=1,@j=1,@sql= 'select '
select @maxlenth=max(len(col1)) from 表
--拼出字段名
while @i <@maxlenth
begin
select @sql=@sql+ 'substring(col1, '+ltrim(str(@i))+ ',3) as col '+ltrim(str(@j))+ ', ',
@i=@i+3,@j=@j+1
end
--去掉逗号
select @sql=left(@sql,len(@sql)-1)+ ' from 表 '
--执行字符串
exec(@sql)
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-21
你这要求太泛泛了,有很多方法可以实现,比如利用substring函数,循环截取就是最简单的一种

pl\/sql 里怎么实现将一个字符串拆分成若干个子字符串?? 在线求解 !
你好!你这要求太泛泛了,有很多方法可以实现,比如利用substring函数,循环截取就是最简单的一种 如果对你有帮助,望采纳。

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;

pl\/sql中连接字符串应该怎么写,在线等待
SELECT CONCAT('工号:',FNumber) FROM T_Employee 如果CONCAT中连接的值不是字符串,Oracle会尝试将其转换为字符串,比如执行下面的SQL语句:SELECT CONCAT('年龄:',FAge) FROM T_Employee 与MYSQL的CONCAT()函数不同,Oracle的CONCAT()函数只支持两个参数,不支持两个以上字符串的拼接,比如下面的SQ...

PL\/SQL取字符串子串位置的算法。
PL\/SQL是Oracle数据库对SQL语句的扩展, Oracle中有Instr函数,可以找到某个字符串在某个表达式中的位置,但是只是第一次出现的位置,如果想找出所有的位置,只能写个函数了。下面是我写的函数:CREATE OR REPLACE FUNCTION GetCharNumbers (pStr IN VARCHAR2, pSplit IN VARCHAR2) RETURN VARCHAR2 IS ...

再PL\/SQL中,怎样获取一个字符串的长度
length函数 比如:select length('12345') from dual;再比如:select length('你好') from dual;

pl\/sql编程字符串中第一个出现一次的字母
SQL code\/*方法很多,这里简单写一个返回@find在@str中第(@n)次出现的位置。没有第(@n)次返回0。*\/create function fn_find(@find varchar(8000), @str varchar(8000), @n smallint) returns intasbegin if @n < 1 return (0) declare @start smallint, @count smallint, @in...

PL\/SQL 中怎样返回某字符串在另一字符串中第2次出现的索引
select instr(substr('abcdefgabcdefg',instr('abcdefgabcdefg','c')+1,length('abcdefgabcdefg')-instr('abcdefgabcdefg','c')+1),'c')+instr('abcdefgabcdefg','c') from dual;返回是10,第二个c就出现在第10位,没有问题啊?

请问怎么在PL\/SQL里面 截取一个字符串的最后两位
select substr('12345',1,2) from dual 结果是12 select substr('12345',-2,2) from dual 结果是45

PL\/SQL中 如何在字符串中提取数字 ?
select regexp_substr('水库新村332号','[0-9]+' ) from dual;--用正则表达式取出数字 select regexp_substr('水库新村332号','[[:digit:]]+') from dual;

Oracle APEX社区教程:PL\/SQL类型格式转换
首先,我们来谈谈字符转数字的TO_NUMBER函数。其语法为TO_NUMBER(char),将字符类型的数据转换为数字类型。但请记住,输入的字符串必须是可以转换的,否则将会报错。为此,我们可以创建一个升级版函数:CREATE OR REPLACE FUNCTION cux_to_number (x_var IN VARCHAR2) RETURN NUMBER AS vn_return ...

相似回答