SQL查询字符位置

目录

1.MySQL

1.1LOCATE

1.2INSTR 

2.SQLServe

2.1CHARINDEX

3.ORACLE

3.1INSTR

4.ClickHouse

4.1POSITION


1.MySQL

1.1LOCATE

MySQL中的字符串位置查询可以使用LOCATE函数来实现。

语法:LOCATE(substr,str [,pos])

其中

  • substr是要查找的子串,
  • str是被查找的字符串,
  • pos表示开始查找的位置。

如果省略pos参数,则默认从字符串的第1个字符开始查找,LOCATE函数返回子串在字符串中的起始位置,如果找不到子串,则返回0。

实例:

SELECT LOCATE('RL','WORLD',2) as POS

结果:

1.2INSTR 

MySQL还提供了另一个函数INSTR来进行字符串位置查询。

语法:INSTR(str,subtr)

其中,

  • str是被查找的字符串,
  • substr是要查找的子串。

与LOCATE函数类似,INSTR函数也返回子串在字符串中的起始位置,如果找不到子串,则返回0。 

实例:

SELECT INSTR('Hello, world! My name is JACK', 'name') AS POS

 结果:

18

2.SQLServe

2.1CHARINDEX

SQLServe中的字符串位置查询可以使用CHARINDEX函数来实现。

语法:CHARINDEX(substr,str [,pos])

其中

  • substr是要查找的子串,
  • str是被查找的字符串,
  • pos表示开始查找的位置。

如果省略pos参数,则默认从字符串的第1个字符开始查找,CHARINDEX函数返回子串在字符串中的起始位置,如果找不到子串,则返回0。

实例:

SELECT CHARINDEX('R','WORLD',2) AS POS

 结果:

3

3.ORACLE

3.1INSTR

ORACLE中的字符串位置查询可以使用INSTR函数来实现。

语法:INSTR(str, substr [, start_position [, occurrence]])

 其中

  • str是要搜索的字符串,

  • substr 是你想要在str中查找的子字符串,

  • start_position是开始搜索的位置(可选,默认为1),

  • occurrence是你想要查找的子字符串的第几次出现(可选,默认为1)。

如果start_position或occurrence为负数,则搜索会从字符串的末尾开始,并从-1开始计数第N次出现。

实例:

SELECT INSTR('Hello World','e',2,1)

结果:

4.ClickHouse

4.1POSITION

ClickHouse中的字符串位置查询可以使用POSITION函数来实现。

语法:POSITION(str,subtr,pos)

其中substr是要查找的子串,str是被查找的字符串,pos表示开始查找的位置。如果省略pos参数,则默认从字符串的第1个字符开始查找,CHARINDEX函数返回子串在字符串中的起始位置,如果找不到子串,则返回0。

实例:

SELECT POSITION('WORLD','R',2) AS POS

结果:

3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值