substr函数

  • 一、作用
  • 二、语法
  • 三、使用
  • 1. 截取字符串
  • 2. 截取查询结果
  • 3. 两种格式
  • 四、substr、substrb、substring的区别


一、作用

从一个内容中,按照指定条件,「截取」一个字符串。这个内容可以是数值或字符串。

二、语法

substr(obj,start,length)

参数

  • obj:从哪个内容中截取,可以是数值或字符串。
  • start:从哪个字符开始截取(1开始,而不是0开始)
  • length:截取几个字符(空格也算一个字符)。

三、使用

1. 截取字符串

1)想要从一个字符串中截取「固定数量」的字符时,可以指定两个参数,即从哪个字符开始截取,截取几个字符。

比如,截取字符串 abcdefg 的第1~3个字符:

db2截取最后两个字符串 db2截取substr用法_mysql

2)如果只给「一个参数」,则默认截取到最后。

比如,从第2个字符开始,截取到最后一个字符:

db2截取最后两个字符串 db2截取substr用法_java_02

3)substr允许参数的「值为负数」,当我们不知道字符串的具体长度,但想要截取最后几个字符时,可以将参数写成负数,从倒数第几个字符串开始截取,截取到最后。

比如,从倒数第4个字符开始截取,截取到最后:

db2截取最后两个字符串 db2截取substr用法_mysql_03

2. 截取查询结果

1)substr允许将其他语句的查询结果作为参数,进行截取(注意用括号括起来)。

比如,截取查询结果中的前5个字符:

db2截取最后两个字符串 db2截取substr用法_网络安全_04

3. 两种格式

substr还有另外一种语法格式

substr(obj FROM start FOR length)

也就是将参数之间的逗号替换为 form 和 for (不区分大小写),这种形式可以增加代码的可读性。

db2截取最后两个字符串 db2截取substr用法_python_05

四、substr、substrb、substring的区别

1)substr和substring作用相同,可以相互替换。

2)substr以字符串为单位,而substrb以字节为单位(substrb后买的b,是比特的意思,也就是字节)

比如,一个汉字代表3个字节,使用substr截取,参数设1就可以,;但substrb截取,参数就要设3。

3)substr是从1开始,而substrb是从0开始