SUBSTR 函数

功能描述

SUBSTR 函数用于从字符串或二进制数据中提取指定位置和长度的子字符串。

语法

SUBSTR(str, pos [, len])

或者

SUBSTR(str FROM pos [FOR len])

参数说明

  • str (string/binary): 输入的字符串或二进制数据。
  • pos (bigint): 子字符串的起始位置。如果 pos 大于等于 1,则从左侧第 pos 个字符开始提取;如果 pos 小于等于 -1,则从右侧第 -pos 个字符开始提取;如果 pos 等于 0,则从左侧第一个字符开始提取。
  • len (bigint, 可选): 要提取的子字符串长度。如果未指定,则返回从 pos 开始的完整子字符串。

返回结果

返回提取的子字符串,类型为 string。

使用示例

  1. 提取字符串 "Hello, world!" 从第二个字符开始的 5 个字符:
    SELECT SUBSTR('Hello, world!', 2, 5);
    -- 输出结果: ello,
  2. 提取字符串 "123456789" 从第四个字符开始的所有字符:
    SELECT SUBSTR('123456789', 4);
    -- 输出结果: 456789
  3. 提取字符串 "数据库" 从第二个字符开始的 1 个字符,并指定字符集为 UTF-8:
    SELECT SUBSTR('数据库' FROM 2 FOR 1 );
    -- 输出结果: 据

注意事项

  • 如果 poslen 的值超出输入字符串的范围,函数将返回一个空字符串。
  • 当提取字符串时,poslen 的单位是字符,而不是字节。

联系我们
预约咨询
微信咨询
电话咨询