答案:使用SUBSTRING、LEFT或RIGHT函数提取固定长度字符。从指定位置起取固定长度,起始位置从1开始,不同数据库支持的函数名略有差异。

在 SQL 中提取固定长度字符,主要使用字符串截取函数。不同数据库的语法略有差异,但核心思路一致:从指定位置开始,取出固定长度的字符。
SUBSTRING 函数(通用方法)
大多数数据库支持 SUBSTRING() 函数,语法如下:
SUBSTRING(字符串, 起始位置, 长度)说明:
- 起始位置从 1 开始计数(不是 0)
- 长度表示要提取的字符个数
示例:提取字段前 5 个字符
SELECT SUBSTRING(name, 1, 5) FROM users;这会从 name 字段的第 1 个字符开始,取 5 个字符。
LEFT 和 RIGHT 函数(简化写法)
如果只需要从开头或结尾提取字符,可使用:
- LEFT(字符串, 长度):从左边开始取指定长度字符
- RIGHT(字符串, 长度):从右边开始取指定长度字符
示例:
SELECT LEFT(phone, 3), RIGHT(id_card, 4) FROM customers;分别提取电话号码前 3 位和身份证后 4 位。
数据库差异注意事项
不同数据库对函数命名可能不同:
- MySQL、PostgreSQL、SQL Server:用 SUBSTRING()
- Oracle:可用 SUBSTR(),语法相同
- SQLite:支持 SUBSTR() 和 SUBSTRING()
例如 Oracle 写法:
SELECT SUBSTR(email, 1, 10) FROM employees; 基本上就这些。根据你的数据库类型选择对应函数,明确起始位置和长度即可准确提取固定字符。










