SQL SUBSTRING:从字符串中提取子字符串

摘要:在本教程中,您将学习如何使用 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 表。

employees_table

以下 查询 使用 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 example

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

本教程是否有帮助?