前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL函数 INSTR

SQL函数 INSTR

作者头像
用户7741497
发布2022-04-05 19:59:45
1.8K0
发布2022-04-05 19:59:45
举报
文章被收录于专栏:hml_知识记录hml_知识记录

SQL函数 INSTR

返回子字符串在字符串中的位置的字符串函数,具有可选的搜索起始点和出现次数。

大纲

代码语言:javascript
复制
INSTR(string,substring[,start[,occurrence]])

参数

  • string - 要在其中搜索子字符串的字符串表达式。 它可以是列的名称、字符串字面值或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(如CHARVARCHAR2)。
  • substring - 一个子字符串,被认为出现在字符串中。
  • start - 可选-子字符串搜索的起始点,指定为正整数。 从字符串开始的字符计数,从1开始计数。 若要从字符串的开头开始搜索,请忽略此参数或指定从1开始。 起始值为0、空字符串、NULL或非数字值会导致INSTR返回0。 指定start为负数会导致INSTR返回<null>
  • occurrence - 可选-一个非零整数,指定从起始位置搜索时返回哪个子字符串。 默认情况是返回第一个出现的位置。

INSTR返回INTEGER数据类型。

描述

INSTR在字符串中查找子字符串,并返回子字符串的第一个字符的位置。 位置以整数形式返回,从字符串的开头开始计算。 如果substring没有找到,则返回0(0)。 如果传递给任何一个参数一个NULL值,INSTR将返回NULL

INSTR支持指定start作为子字符串搜索的起始点。 INSTR还支持从起始点指定子字符串出现。

INSTR是区分大小写的。 使用其中一个大小写转换函数来定位字母或字符串的大写和小写实例。

这个函数也可以通过调用INSTR()方法从ObjectScript调用:

代码语言:javascript
复制
DHC-APP> w $SYSTEM.SQL.INSTR("The broken brown briefcase","br",6,2)        18

INSTR, CHARINDEX, POSITION和$FIND

INSTR, CHARINDEX, POSITION$FIND都搜索一个字符串中指定的子字符串,并返回一个整数位置对应于第一个匹配。 CHARINDEXPOSITIONINSTR返回匹配子字符串的第一个字符的整数位置。 $FIND返回匹配子字符串结束后第一个字符的整数位置。 CHARINDEX$FINDINSTR支持指定子字符串搜索的起始点。 INSTR还支持从起始点指定子字符串出现。

下面的示例演示了这四个函数,指定了所有可选参数。 注意,在这些函数中,stringsubstring的位置不同:

代码语言:javascript
复制
SELECT POSITION('br' IN 'The broken brown briefcase') AS Position,
       CHARINDEX('br','The broken brown briefcase',6) AS Charindex,
       $FIND('The broken brown briefcase','br',6) AS Find,
       INSTR('The broken brown briefcase','br',6,2) AS Inst
       
5   12  14  18

示例

下面的例子返回11,因为“b”是字符串中的第11个字符:

代码语言:javascript
复制
SELECT INSTR('The quick brown fox','b',1) AS PosInt

11

下面的示例返回示例中每个名字的姓氏长度。 人表。 它定位用于将姓氏与name字段的其余部分分隔开的逗号,然后从该位置减去1:

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SQL函数 INSTR
  • 大纲
  • 参数
  • 描述
  • INSTR, CHARINDEX, POSITION和$FIND
  • 示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档