Oracle 截取字符串

如下有一个创建函数的代码,是将一穿字符串按照逗号‘,’分割成若干段

create or replace function SplitStringByComma(aName in varchar2) return myArrayType is
Result myArrayType;
len number;
i integer;
j integer;
p integer;
Comma varchar2(1);
s number(10);
tempaName varchar2(4000);
c myArrayType(是一个Type) := myArrayType();
begin

tempaName:=aName;
if(aName is null) then
tempaName:=‘-98645353‘;
end if;

len:= Length(tempaName);
p:= 1;
i :=1;
j :=0;
loop
EXIT WHEN i>len;
Comma := substr(tempaName,i,1);
if (Comma=‘,‘) then
c.extend;
s := substr(tempaName,p,i-p);
c(c.count) := s;
j := j+1;
p := i+1;
end if;

i:=i+1;
end loop;

c.extend;
s := substr(tempaName,p,i-p);
c(c.count) := s;
Result := c;
return(Result);
end SplitStringByComma;

时间: 2024-11-05 19:28:59

Oracle 截取字符串的相关文章

Oracle截取字符串的函数substr

Oracle截取字符串的函数substr substr Oracle中的截取字符串函数. 语法如下: substr( string, start_position, [ length ] ) 参数分析: string 字符串值 start_position 截取字符串的初始位置, Number型,start_position为负数时,表示从字符串右边数起. length 截取位数,Number型 其中,length为可选,如果length为空(即不填)则返回start_position后面的所有

Oracle截取字符串和查找字符串

oracle 截取字符(substr),检索字符位置(instr) case when then else end语句使用 收藏 常用函数:substr和instr1.SUBSTR(string,start_position,[length])    求子字符串,返回字符串解释:string 元字符串       start_position   开始位置(从0开始)       length 可选项,子字符串的个数For example:substr("ABCDEFG", 0); /

Oracle截取字符串和查找字符串,联合使用截取特定字符

oracle 截取字符(substr),检索字符位置(instr) case when then else end语句使用 收藏 常用函数:substr和instr1.SUBSTR(string,start_position,[length])    求子字符串,返回字符串解释:string 元字符串       start_position   开始位置(从0开始)       length 可选项,子字符串的个数For example:substr("ABCDEFG", 0); /

ORACLE截取字符串

?? 每行显示固定字符串,截取字符串 方法一:在循环里面输出 DECLARE l_char          VARCHAR2 (3000 ) := 'ORACLEEB电子商务套件SSYSTEMghtest' ; l_length        NUMBER ; l_line_char     VARCHAR2 (1000 ); --每一个字符 l_lengthb       NUMBER ; --每一个字符的字节长度,汉字变成2个 l_lengthb_total NUMBER := 0 ; -

oracle截取字符串区间段的一部分字符串

Oracle SQL中实现indexOf和lastIndexOf功能,substr和instr用法 博客分类: oracle PL/SQL instrsubstrlastindexofindexoforacle . Oracle SQL中实现indexOf和lastIndexOf功能 Oracle, SQL, indexOf, lastIndexOf 今天遇到一个问题,需要将一个格式为1_2_3这样的字符串拆解组成1_3的串,并用SQL更新数据库. 在Oracel中,可以用substr和INST

oracle截取字符串(截取某个字符前面的字符串)

已验证. 要求:A.数据库表中的一个字符串 可能含有"+" 例:ORC+001 也可能不含“+” B.要求如果该字符串含有“+”,则取“+”之前的字符 例:ORC+001 取ORC C.如果该字符串不含"+",则直接取该字符串. 解答:利用ORACLE中 INSTR,SUBSTR以及CASE WHEN语法即可实现. Oracle中函数 INSTR:INSTR方法的格式为 INSTR(源字符串, 目标字符串, 起始位置, 匹配序号) 默认查找顺序为从左到右.当起始位置

oracle正则截取字符串的函数

现在有这么一个需求, 数据库中的一个手输的'籍贯'字段,要按一定的规范截取显示在报表上,比如,如果'籍贯'的内容是:'山东省潍坊市昌乐县', 那么报表里要显示为:'山东昌乐', 如果'籍贯'是山东省潍坊市寒亭区 那么就要出来 山东潍坊,简化的基本需求就是这样,取省一级和县一级,如果县一级是个区,那就取到市一级, 没有县一级的话,是数据不规范,但是先将就着取省一级和市一级. 要实现这个目的,第一是要从数据库里把相应的字段取出来, 第二是要写一个oracle截取字符串的函数处理下'籍贯'字段. 第一

oracle截取字段中的部分字符串

使用Oracle中Instr()和substr()函数: 在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为: instr(sourceString,destString,start,appearPosition). instr('源字符串' , '目标字符串' ,'开始位置','第几次出现') 其中sourceString代表源字符串: destString代表想聪源字符串中查找的子串: start代表查找的开始位置,该参数可选的,默认为1: ap

Oracle中字符串截取常用方法总结

本文链接:https://blog.csdn.net/rongtaoup/article/details/82217740substr 函数:截取字符串语法:SUBSTR(string,start, [length]) string:表示源字符串,即要截取的字符串. start:开始位置,从1开始查找.如果start是负数,则从string字符串末尾开始算起. length:可选项,表示截取字符串长度. 示例: SELECT SUBSTR('Hello SQL!', 1) FROM dual -