一、Oracle中INSTR函数

INSTR (源字符串, 目标字符串, 起始位置, 匹配序号)

在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束。

语法如下:

instr( string1, string2 [, start_position [, nth_appearance ] ] )

 参数分析: string1 源字符串,要在此字符串中查找。

string2 要在string1中查找的字符串.

start_position 代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。

nth_appearance 代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。

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

示例: SELECT instr('syranmo','s') FROM dual; -- 返回 1

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

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

(根据条件,由于a只出现一次,第四个参数2,就是说第2次出现a的位置,显然第2次是没有再出现了,所以结果返回0。注意空格也算一个字符!)

SELECT instr('syranmo','an',-1,1) FROM dual;  -- 返回 4

(就算是由右到左数,索引的位置还是要看‘an’的左边第一个字母的位置,所以这里返回4)

SELECT instr('abc','d') FROM dual;  -- 返回 0

注:也可利用此函数来检查String1中是否包含String2,如果返回0表示不包含,否则表示包含。

二、DB2中,功能相同的函数:

(1) LOCATE函数:

语法:LOCATE(ARG1,ARG2,<POS>)

解释:LOCATE函数在ARG2中查找ARG1第一次出现的位置,如果指定POS,则从ARG2的POS处开始查找ARG1第一次出现的位置。

(2) POSSTR函数:

语法:POSSTR(EXP1,EXP2)

解释:POSSTR函数返回EXP2在EXP1中的位置。

三、Sybase IQ中,功能相同的函数:

(1) CHARINDEX函数:

CHARINDEX(char_expr,expression)

返回指定char_expr在expression中的开始位置,否则为0

转载于:https://www.cnblogs.com/alexzp/p/3540136.html

Oracle中INSTR函数,及在DB2、Sybase中与Instr函数功能相同的函数相关推荐

  1. python练习——实现质数检测,编写isprime()函数,参数为整数,并且需要有异常处理功能。

    编写isprime()函数,参数为整数,并且需要有异常处理功能.此函数的功能是检测接收的整数是否为质数,如果整数是质数,则返回True,否则返回False. # 编写isprime()函数,参数为整数 ...

  2. Oracle 10g数据库基础之基本查询语句-中-函数

    Oracle 10g数据库基础之基本查询语句-中-函数 --资料参考:张烈 张建中<数据库管理员培训讲义> 函数: 使用函数的目的是为了操作数据 将输入的变量处理,返回一个结果. 变量可以 ...

  3. MySQL里和trunc函数相同的_mysql 函数中与Oracle中ltrim函数功能相同的函数是什么函数?...

    一.ANSI字符函数 字符函数用于在SQL里以不同于存储方式的格式来表示字符串. 串接就是把两个单独的字符串组合为一个. 子串的概念就是从字符串里提取一部分. TRANSLATE函数用于逐字符地把一个 ...

  4. oracle只查询0点数据,Oracle 10g数据库基础之基本查询语句-中-函数

    Oracle 10g数据库基础之基本查询语句-中-函数 --资料参考:张烈 张建中<数据库管理员培训讲义> 函数: 使用函数的目的是为了操作数据 将输入的变量处理,返回一个结果. 变量可以 ...

  5. Mybatis selectKey获取自增ID(DB2/Sybase/MySQL/Oracle/达梦)

    Mybatis selectKey获取自增ID(DB2/Sybase/MySQL/Oracle/达梦) 1.selectKey 2.不同数据库写法 2.1 DB2 2.2.Sybase 2.3 MyS ...

  6. bcp入库oracle,Sybase中的BCP用法实践 与 Oracle的SQLLDR用法实践

    关于BCP的用法法,网上有很多资料,但要经过自已的实践来证实才能为已所用,因网上的东东有些是转来转去,会有遗误之处,所以对网上的相关资料要广泛地多多地参考,不能迷信某一家之言,因为IT相关的东东存于着 ...

  7. oracle日期转数值的函数,oracle数据库内置函数之数值函数、字符函数、日期函数、转换函数及其在查询语句中的运用...

    数值函数: 1.四舍五入函数round() from dual:一行一列组成 select round(23.4) from dual;--默认不写m表示m为0 select round(23.45, ...

  8. oracle 表导出pdm文件,如何将数据库中已有表导入到powerDesigner生成pdm文件

    1.create new PDM: 2.select database menu; 3.click Reverse  Engineer database : 4.then choose your sc ...

  9. oracle取括号内数字,怎么把excel中一列文本中括号里的数字弄出来啊

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:怎么把excel中一列文本中括号里的数字弄出来啊回答:=MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIN ...

  10. DB Query Analyzer中的事务管理在DB2中的应用

    DB Query Analyzer中的事务管理在DB2中的应用 马根峰 ( 广东联合电子收费股份有限公司, 广州 510300) 摘要      事务控制是数据库应用系统中的关键技术之一,概述了事务控 ...

最新文章

  1. Avahi DOS攻击broadcast-avahi-dos
  2. 计算机一级试题论述,计算机一级考试理论题及答案要点
  3. java期末试题c卷,JAVA程序设计期末考试试卷及参考答案
  4. 定时执行vacuum
  5. C++socket编程(一):绪论
  6. Maven-依赖调解/查看项目依赖了哪些包
  7. IIS和Tomcat共用80端口的解决方案
  8. 树莓派 armv几_如何在具有armv6处理器的树莓派板上安装和使用Java 11和JavaFX 11
  9. 计算机蓝屏了 怎么维修,电脑蓝屏怎么办?电脑出现蓝屏快速解决教程
  10. 模式识别属于计算机科学吗,模式识别与智能系统这个学科属于什么类?
  11. python针对Excel表格的操作
  12. 计算机无法正常更新,无法完成更新正在撤销更改请不要关闭你的计算机的解决方法...
  13. Matlab图像的平移,旋转,缩放,裁剪
  14. 2015.3.30第一次博客测试
  15. MyBatis中的日志(LOG4J)
  16. 等边三角形的积木编程
  17. linux驱动系列学习之input子系统(二)
  18. wifi: 连接网络时提示“已连接无法访问互联网”几秒钟后消失
  19. MD5 c++ 实现
  20. IPPBX系统组成原理及其应用

热门文章

  1. 如何在 Mac 上查找和删除重复文件?
  2. 即刻起,加速您的前端构建
  3. 洛谷3389:【模板】高斯消元法——题解
  4. idea 添加 golang 项目的 gopath
  5. MyBatis-3.4.2-源码分析12:XML解析之mapperElement(root.evalNode(mappers))
  6. JavaScript 图像延迟加载库 Echo.js的简单使用
  7. junit学习笔记(二):hamcrest和TestSuit
  8. 简单设置让Win7不等更新直接关机
  9. SqlServer数据库正在还原的解决办法
  10. Git 不要只会 pull 和 push,试试这 5 条提高效率的命令