SelectDB Enterprise
参考手册
SQL 函数
标量函数
字符串函数
SUBSTRING

SUBSTRING

描述

SUBSTRING 函数用于从字符串中提取子字符串。可以指定起始位置和长度,支持正向和反向提取。字符串中第一个字符的位置为 1。

别名

SUBSTR

语法

SUBSTRING(<str>, <pos> [, <len>])

参数

参数说明
<str>源字符串。类型:VARCHAR
<pos>起始位置,可以为负数。类型:INT
<len>可选参数,要提取的长度。类型:INT

返回值

返回 VARCHAR 类型,表示提取的子字符串。

特殊情况:

  • 如果任意参数为 NULL,返回 NULL
  • 如果 pos 为 0,返回空字符串
  • 如果 pos 为负数,从字符串末尾开始向前计数
  • 如果 pos 超出字符串长度,返回空字符串
  • 如果不指定 len,则返回从 pos 到字符串末尾的所有字符

示例

  1. 基本用法(指定起始位置)
SELECT substring('abc1', 2);
+-----------------------------+
| substring('abc1', 2)        |
+-----------------------------+
| bc1                         |
+-----------------------------+
  1. 使用负数位置
SELECT substring('abc1', -2);
+-----------------------------+
| substring('abc1', -2)       |
+-----------------------------+
| c1                          |
+-----------------------------+
  1. 位置为 0 的情况
SELECT substring('abc1', 0);
+----------------------+
| substring('abc1', 0) |
+----------------------+
|                      |
+----------------------+
  1. 位置超出字符串长度
SELECT substring('abc1', 5);
+-----------------------------+
| substring('abc1', 5)        |
+-----------------------------+
|                             |
+-----------------------------+
  1. 指定长度参数
SELECT substring('abc1def', 2, 2);
+-----------------------------+
| substring('abc1def', 2, 2)  |
+-----------------------------+
| bc                          |
+-----------------------------+
© 2025 北京飞轮数据科技有限公司 京ICP备2022004029号 | Apache、Apache Doris 以及相关开源项目名称均为 Apache 基金会商标