Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


SUBSTRING_INDEX

📄字数 517
👁️阅读量 加载中...

功能描述

在指定字符串中按指定分隔符截取字符串。

语法格式

sql
SUBSTRING_INDEX(expr1,expr2,expr3)

输入参数

  • expr1VARCHAR 类型或者能隐式转换为 VARCHAR 类型的其他类型的值,源字符串。
  • expr2VARCHAR 类型或者能隐式转换为 VARCHAR 类型的其他类型的值,分隔符。
  • expr3INTEGER 类型或者能隐式转换为 INTEGER 类型的其他类型的值,分隔符出现的次数,并据此确定截取位置。

输出结果

VARCHAR 类型,任意输入参数为 NULL 时,输出结果为 NULL。对截取的起始位置以及截取长度的处理遵循以下规则:

  • 输入参数 expr3 大于 0 时,输出结果为截取从左往右数第 expr3 个分隔符之前的字符串;
  • 输入参数 expr3 等于 0 时,输出结果为空字符串;
  • 输入参数 expr3 小于 0 时,输出结果为截取从右往左数第 expr3 个分隔符之后的字符串;
  • 输入参数 expr3 的绝对值大于源字符串中的分隔符个数以及源字符串中未找到制定分隔符时,输出结果为源字符串。

示例

sql
-- 截取第二个','分隔符之前的字符串
SQL>  SELECT SUBSTRING_INDEX('abc,def,ghi,jkl', ',', 2) FROM dual;

+---------+
|  EXPR1  |
+---------+
| abc,def |
+---------+