CHARINDEX

功能概述

返回子串在字符串中第一次出现的位置(从 1 开始),找不到时返回 0。

CHARINDEX
CHARINDEX
是 LOCATE 的别名,参数顺序和行为完全相同。

语法

CHARINDEX(<substr>, <str> [, <pos>])

参数说明

  • <substr>
    <substr>
    :STRING 类型,要查找的子串。

  • <str>
    <str>
    :STRING 类型,被搜索的字符串。

  • <pos>
    <pos>
    :可选,BIGINT 类型,从第几个字符开始搜索,默认为 1。按字符计数,中文等多字节字符算一个字符。

使用示例

SELECT charindex('aa', 'aaads') AS r1, charindex('aa', 'aaads', 2) AS r2, charindex('de', 'aaads') AS r3, charindex('好', '你好好世界', 3) AS r4;

r1r2r3r4
1203
  • r2
    r2
    :从第 2 个字符开始搜索,命中的是第 2、3 个字符组成的
    aa
    aa
    。
  • r4
    r4
    :从第 3 个字符开始搜索,跳过了第 2 个字符的“好”,返回第 3 个字符的位置。

注意事项

  • 位置按字符计数,从 1 开始;未找到返回 0。
  • <pos>
    <pos>
    为 NULL 时返回 0。

相关文档

  • LOCATE:与
    CHARINDEX
    CHARINDEX
    等价
  • INSTR:参数顺序为
    (str, substr)
    (str, substr)
    的查找函数
  • POSITION
联系我们
预约咨询
微信咨询
电话咨询
邮件咨询