SQLPathLab
字符串函数 · 基础

SUBSTRING

截取字符串的一部分。

简介

SUBSTRING 从指定位置截取字符串,可选择再给出截取长度。MySQL 常用位置从 1 开始,负数位置可以从末尾计算;超出范围通常返回空字符串。字符长度和字节长度不是同一概念,处理多字节字符时应使用符合文本语义的函数和字符集。

基础语法

SELECT SUBSTRING(code, 1, 3) FROM products;

示例

SUBSTRING 示例

从 products.code 的第一个字符开始截取三个字符,得到可用于分组的编码前缀。

示例数据表

表名:products
products
code
PRD-001-A
PRD-002-B
PRD-003-C

运行结果

result
SUBSTRING(code, 1, 3)
PRD
PRD
PRD

常见问题

字符串函数遇到 NULL 会怎样?

CONCAT 等函数的 NULL 行为需要单独确认;必要时先使用 COALESCE 提供替代值。

SUBSTRING 的起始位置从哪里算?

MySQL 常用写法从 1 开始,迁移到其他数据库时仍应核对参数规则。

TRIM 会清理字符串中间的空格吗?

默认只处理两端空格,不会合并或删除字符串内部空格。

标签

常用字符串

这篇内容是否清楚?