oracle的常用函数 instr() 和substr()函数 ;

  注意:

  如果String2在String1中没有找到,instr函数返回0.

  示例:

  SELECT instr(‘syranmo‘,‘s‘) FROM dual; -- 返回 1

  SELECT instr(‘syranmo‘,‘ra‘) FROM dual;  -- 返回 3

  1 SELECT instr(‘syran mo‘,‘a‘,1,2) FROM dual;  -- 返回 0

在Oracle中

可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。

在一个字符串中查找指定的字符,返回被查找到的指定的字符的位置。

语法:

instr(sourceString,destString,start,appearPosition)

instr(‘源字符串‘ , ‘目标字符串‘ ,‘开始位置‘,‘第几次出现‘)

其中sourceString代表源字符串;

destString代表要从源字符串中查找的子串;

start代表查找的开始位置,这个参数可选的,默认为1;

appearPosition代表想从源字符中查找出第几次出现的destString,这个参数也是可选的, 默认为1

如果start的值为负数,则代表从右往左进行查找,但是位置数据仍然从左向右计算。

返回值为:查找到的字符串的位置。

-------------------------------------------------------------

对于instr函数,我们经常这样使用:从一个字符串中查找指定子串的位置。例如:

SQL> select instr(‘abcdefgh‘,‘de‘) position from dual;

POSITION

----------

4

从1开始算 d排第四所以返回4

SQL>select instr(‘abcdefghbc‘,‘bc‘,3) position from dual;

POSITION

----------

9

从第3个字符开始算起 第3个字符是c,所以从3开始以后的字符串找查找bc,返回9

---------------------------

从第1个字符开始,查找第2次出现子串的位置

SQL> select instr(‘qinyinglianqin‘,‘qin‘, 1, 2) position from dual;

POSITION

----------

12

----------------------------------------------------------------------

SUBSTR()函数  

1.用处:是从给定的字符表达式或备注字段中返回一个子字符串。   

2.语法格式:SUBSTR(cExpression,nStartPosition [,nCharactersReturned])   

其中,cExpression指定要从其中返回字符串的字符表达式或备注字段;

nStartPosition用于指定返回的字符串在字符表达式或备注字段中的位置,

nCharactersReturned用于指定返回的字符数目,缺省时返回字符表达式的值结束前的全部字符。  

3.举例:STORE‘abcdefghijlkm‘ To mystring   

SUBSTR(mystring ,1,5) 显示 "abcde"  1 从第一个字符开始 截取的字符中,包括第一个字符 

SUBSTR(mystring ,6) 显示 "fghijklm"   

SUBSTR(mystring,-2)显示“km”   最右边一个字符是-1,最右边左边的字符是-2,然后默认是从左向有取剩下的全部的字符

SUBSTR(mystrng,-4)显示“jlkm”

时间: 2024-08-24 11:20:24

oracle的常用函数 instr() 和substr()函数 ;的相关文章

oracle的常用函数 instr() 和substr()函数

from:http://1055592535.iteye.com/blog/1676235 在Oracle中 可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 在一个字符串中查找指定的字符,返回被查找到的指定的字符的位置. 语法: instr(sourceString,destString,start,appearPosition) instr('源字符串' , '目标字符串' ,'开始位置','第几次出现') 其中sourceString代表源字符串: destStrin

[转载]oracle的常用函数 instr() 和substr()函数

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

Mysql中INSTR(str, substr)函数

函数介绍 INSTR(str, substr):返回子串substr在字符串str中的第一个出现的位置,如果存在则返回1~N,不存在返回0,任意一个字符串为NULL则返回NULL. 函数实例 原文地址:https://www.cnblogs.com/feiqiangsheng/p/10948971.html

【Oracle】【19】instr()和substr()函数

前言: instr():判断字符串是否包含某指定字符 substr():截取字符串 正文: 1,instr() 语法:instr(sourceString,destString,start,appearPosition) → instr('源字符串' , '目标字符串' ,'开始位置','第几次出现'):start,appearPosition默认为1 返回值:查找到的字符串的位置 注:位置从1开始计算:返回值为指定字符的第一个字符位置,如果start大于第一个字符位置,取第二个字符位置,以此类

Oracle中nvl()、instr()、及执行多条sql事务操作

Oracle的Nvl函数 nvl( ) 函数 从两个表达式返回一个非null 值. 语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpression2 如 果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2.如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1.eExpression1 和 eExpression2 可以是任意一种数据类型

ORACLE之常用函数

oracle函数的分类 1.REPLACE('string','s1′,'s2′)string   希望被替换的字符或变量s1       被替换的字符串s2       要替换的字符串SQL> select replace('he love you','he','i') from dual; REPLACE('H----i love you 案例:把emp表里ename名字中KING替换为King sql>select  replace(ename,'KING','King')  from

【Oracle】Oracle中常用函数大全

Oracle SQL 提供了用于执行特定操作的专用函数.这些函数大大增强了 SQL 语言的功能.函数可以接受零个或者多个输入参数,并返回一个输出结果. oracle 数据库中主要使用两种类型的函数: 1.  单行函数:对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果, 比如:MOD(x,y)返回 x 除以 y 的余数(x 和 y 可以是两个整数,也可以是表中的整 数列).常用的单行函数有: Ø  字符函数:对字符串操作. Ø  数字函数:对数字进行计算,返回一个数字. Ø  转换函

oracle中的常用函数、字符串函数、数值类型函数、日期函数,聚合函数。

一.字符串的常用函数. --一.oracle 字符串常用函数 --1. concat 连接字符串的函数,只能连接[两个]字符串. 字符写在括号中,并用逗号隔开! --2.“||”符号可以连接多个字符串 直接用||将多个字符链接即可. --3. dual? dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录. select concat('lo','ve')from dual; select concat('o','k')from dual; sel

【原创】oracle函数INSTR的MySQL实现

一个迁移项目遇到的,MySQL的instr函数只能查找子串是否在父串中,没法按照出现的次数进行查找. 这里我自己写了一个,以便迁移.当然我这里仅仅针对的是迁移,可能没有完全实现原有函数的细节. Oracle 里用了几次如下的调用, SQL> select instr('This is belong to you, but not to me.','to',1,1) as pos from dual;                  POS