摘要:在本教程中,您将学习如何使用 SQL SUBSTRING
函数从字符串中提取子字符串。
SQL SUBSTRING 函数简介
SUBSTRING
函数提取以给定长度从指定位置开始的子字符串。
以下演示了 SUBSTRING
函数的语法。
SUBSTRING(source_string, position, length);
Code language: SQL (Structured Query Language) (sql)
SUBSTRING
函数接受三个参数
-
source_string
是要从中提取子字符串的字符串。 -
position
是子字符串开始的起始位置。字符串的第一个位置是 1。 -
length
是子字符串的长度。length
参数是可选的。
大多数关系数据库系统实现具有相同功能的 SUBSTRING
函数。
SQL SUBSTRING 函数示例
以下示例从位置 1 开始返回长度为 3 的子字符串。
SELECT SUBSTRING('SQLTutorial.org',1,3);
Code language: SQL (Structured Query Language) (sql)
substring
-----------
SQL
(1 row)
Code language: SQL (Structured Query Language) (sql)
以下语句从位置 4 开始返回长度为 8 的子字符串。
SELECT SUBSTRING('SQLTutorial.org',4,8);
Code language: SQL (Structured Query Language) (sql)
substring
-----------
Tutorial
(1 row)
Code language: SQL (Structured Query Language) (sql)
以下 语句使用 POSITION
函数返回字符串中点号字符 (.) 的位置。
将 POSITION
函数的结果传递给 SUBSTRING
函数查找域的扩展名
SELECT
SUBSTRING('SQLTutorial.org',
POSITION('.' IN 'SQLTutorial.org'));
Code language: SQL (Structured Query Language) (sql)
substring
-----------
.org
(1 row)
Code language: SQL (Structured Query Language) (sql)
参见 示例数据库 中的以下 employees
表。

以下 查询 使用 SUBSTRING
函数提取员工名(首字母缩写)的前几个字符并将员工按首字母缩写分组
SELECT
SUBSTRING(first_name, 1, 1) initial,
COUNT(employee_id)
FROM
employees
GROUP BY initial;
Code language: SQL (Structured Query Language) (sql)

在本教程中,您学习了如何使用 SQL SUBSTRING 函数从字符串中提取子字符串。
本教程是否有帮助?