oracle截取字符(substr)检索字符位置(instr)示例介绍

一:理论

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

substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字符
substr("ABCDEFG", 2); //返回:CDEFG,截取从C开始之后所有字符
substr("ABCDEFG", 0, 3); //返回:ABC,截取从A开始3个字符
substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回。
substr("ABCDEFG", -3); //返回:EFG,注意参数-3,为负值时表示从尾部开始算起,字符串排列位置不变。

2.INSTR(string,subString,position,ocurrence)查找字符串位置
解释:string:源字符串
subString:要查找的子字符串
position:查找的开始位置
ocurrence:源字符串中第几次出现的子字符串
For example:
INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置;返回结果为 14 '

二:实际测试

select substr('OR:com.lcs.wc.placeholder.Placeholder:860825',INSTR('OR:com.lcs.wc.placeholder.Placeholder:860825',':', 1, 2)+1,length('OR:com.lcs.wc.placeholder.Placeholder:860825'))
,INSTR('OR:com.lcs.wc.placeholder.Placeholder:860825',':', 1, 2),
length('OR:com.lcs.wc.placeholder.Placeholder:860825') From dual;

测试成功

(0)

相关推荐

  • Oracle中Like与Instr模糊查询性能大比拼

    instr(title,'手册')>0 相当于 title like '%手册%' instr(title,'手册')=1 相当于 title like '手册%' instr(title,'手册')=0 相当于 title not like '%手册%' t表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标.但经过实际测试发现,like的效率与instr函数差别相当大.下面是一些测试结果: SQL> set timing on

  • SQL中Charindex和Oracle中对应的函数Instr对比

    sql :charindex('字符串',字段)>0 charindex('administrator',MUserID)>0 oracle:instr(字段,'字符串',1,1) >0 instr(MUserID,'administrator',1,1)>0 在项目中用到了Oracle中 Instr 这个函数,顺便仔细的再次学习了一下这个知识. Oracle中,可以使用 Instr 函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为: Instr(string, su

  • Oracle的substr和instr函数简单用法

    Oracle的substr函数简单用法 substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 substr('Hello World',1,1) //返回结果为 'H'  *0和1都是表示截取的开始位置为第一个字符 substr('Hello World',2,4) //返回结果为 'ello' substr('Hello World',-3,3)//返回结果为

  • Oracle中instr函数使用方法

    INSTR (源字符串, 目标字符串, 起始位置, 匹配序号) 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置.只检索一次,就是说从字符的开始到字符的结尾就结束. 语法如下: instr( string1, string2 [, start_position [, nth_appearance ] ] ) 参数分析: string1 源字符串,要在此字符串中查找. string2 要在string1中查找的字符串. start_position 代表string

  • oracle使用instr或like方法判断是否包含字符串

    首先想到的就是contains,contains用法如下: select * from students where contains(address, 'beijing') 但是,使用contains谓词有个条件,那就是列要建立索引,也就是说如果上面语句中students表的address列没有建立索引,那么就会报错. 好在我们还有另外一个办法,那就是使用instr,instr的用法如下: select * from students where instr(address, 'beijing

  • oracle正则表达式regexp_like的用法详解

    /*ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBSTR的功能相似4,REGEXP_REPLACE :与REPLACE的功能相似它们在用法上与Oracle SQL 函数LIKE.INSTR.SUBSTR 和REPLACE 用法相同,但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符.POSIX 正则表达式由标准的元字符(m

  • oracle截取字符(substr)检索字符位置(instr)示例介绍

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

  • 随机获取oracle数据库中的任意一行数据(rownum)示例介绍

    最近看oracle资料的时候,了解rownum的概念,以前只知道对数据库表进行简单的增删改查: 看到了rownum的概念后,突然想到了好多业务场景应该都可以适用的,比如在进行随机发奖的时候, 我们就可以从先查一下奖品表中可以发的总奖品数,然后通过java的Random类在总奖品数内生成一个随机整数X,然后调用 select * from (select rownum no,id from Table where rownum<=X ) where no >=X 获取出该条奖品,这样获取出来的值

  • php 截取GBK文档某个位置开始的n个字符方法

    cut.php: #!/usr/bin/php <?php define('INPUT_FILE', 't.txt'); define('OUTPUT_FILE', 'a.txt'); $pos = max(intval($argv[1]), 0); $len = max(intval($argv[2]), 0); $file_size = filesize(INPUT_FILE); if($pos >= $file_size) exit; $fp = fopen(INPUT_FILE, 'r

  • JavaScript字符串检索字符的方法

    在字符串中检索字符的几种方式,供大家参考,具体内容如下 var text="abcdefgh你好,很高兴认识你!"; var str1="abc"; var str2="def"; var str3="ABC"; var str4="很高兴"; function isContain(str,substr){ return new RegExp(substr).test(str); } console.log

  • php截取指定2个字符之间字符串的方法

    本文实例讲述了php截取指定2个字符之间字符串的方法.分享给大家供大家参考.具体如下: 在php中只要判断字符串1与字符串2之前的一个stripos位置然后再使用substr开始截取就可以了,这里给大家介绍一个简单例子. 使用方法: $keyword='查找(计组实验)' $need=getNeedBetween($keyword, '(' , ')' ); 运行该程序之后: $need='计组实验'; 下面就来完成上面用到的字符串截取函数getNeedBetween.该函数可实现简单的从字符串

  • Shell脚本实现查找字符串中某字符最后出现的位置

    需要对字符串查找其中某个字符最后出现的位置,这个在PHP (strrpos)或者Perl (rindex)里面都有现成函数可用的功能,在Shell里面居然一时想不出个道道来.在论坛上发贴也没人解答(不知道是问题太简单还是真的很高深...). 因为事情紧急等不得,于是求救大学同学.Pacman不愧是个中高手,三两下点醒梦中人: rindex.sh代码: 复制代码 代码如下: #!/bin/bash strToCheck=$1; charToSearch=$2; let pos=`echo "$st

  • 常常会用到的截取字符串substr()、substring()、slice()方法详解

    slice() 定义:接受一个或者两个参数,第一个参数指定子字符串的开始位置.第二个参数表示子字符串的结束位置(不包括结束位置的那个字符),如果没有传递第二个参数,则将字符串的长度作为结束位置. 1.传递参数为正值情况: var str ="helloWorld"; // 一个参数,则将字符串长度作为结束位置 alert(str.slice(3)); // "loWorld" // 两个参数,7位置上的字符为"r",但不包括结束位置的字符 ale

  • js字符串截取函数substr substring slice使用对比

    常用三个的字符串截取函数:substr substring slice,调用方式如下 复制代码 代码如下: stringObject.slice(start,end) stringObject.substr(start,length) stringObject.substring(start,end) 最明显的是substr,第二个参数是length,是截取长度,其他两个函数的第二个参数都是末尾字符的下标(这里并不包括该下标的字符,只截取到该字符的前一个字符) slice跟substring比,

  • Oracle截取JSON字符串内容的方法

    Oracle截取JSON字符串内容 ,具体代码如下所示: CREATE OR REPLACE FUNCTION PLATFROM.parsejsonstr(p_jsonstr varchar2,startkey varchar2,endkey varchar2) RETURN VARCHAR2 IS rtnVal VARCHAR2(1000); FindIdxS NUMBER(2); FindIdxE NUMBER(2); BEGIN if endkey='}' then rtnVal:=sub

  • C++字符数组、字符数组指针和string类

    目录 1.字符数组和字符数组的指针 2.标准库string类 3.补充 3.1C++自带string类的常用方法 C++中字符串的表示方式有很多种,根据自己目前掌握的有三种: 字符数组: 字符数组指针: 标准库string类: 上面几种方式各有优点和缺点,按照自己的观点,如果处理的字符串的任务比较简单,则使用前两种方法所占用内存小,因而较为实用:如果需要进行字符串拼接和比较等功能,则使用string类比较合适,因为字符数组不含有处理函数. 1.字符数组和字符数组的指针 定义字符数组即使用char

随机推荐