问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

SQL字符串截取函数详解:LEFT()、RIGHT()和SUBSTRING()

创作时间:
作者:
@小白创作中心

SQL字符串截取函数详解:LEFT()、RIGHT()和SUBSTRING()

引用
CSDN
1.
https://blog.csdn.net/weixin_48935611/article/details/144905364

SQL字符串截取函数详解:LEFT()、RIGHT()和SUBSTRING()

在SQL中,字符串截取函数是非常常用的功能,可以帮助我们从字符串中提取特定部分的数据。本文将详细介绍三个常用的字符串截取函数:LEFT()、RIGHT()和SUBSTRING(),并提供具体的使用场景和示例代码。

LEFT()函数

LEFT()函数用于从字符串的左侧提取指定长度的子字符串。

LEFT(string, length)
  • string:要操作的字符串。
  • length:从左侧提取的字符数量。

示例:

SELECT LEFT('Hello 2025', 5) AS result;
-- 返回值: 'Hello'

使用技巧:

  • 如果length超过字符串长度,返回整个字符串。
  • 如果length为0,则返回空字符串。

RIGHT()函数

RIGHT()函数用于从字符串的右侧提取指定长度的子字符串。

RIGHT(string, length)
  • string:要操作的字符串。
  • length:从右侧提取的字符数量。

示例:

使用技巧:

  • 如果length超过字符串长度,返回整个字符串。
  • 如果length为0,则返回空字符串。

SUBSTRING()函数

SUBSTRING()函数用于从字符串的任意位置开始提取指定长度的子字符串。

SUBSTRING(string, start, length)
  • string:要操作的字符串。
  • start:子字符串开始的位置(1表示字符串的第一个字符)。
  • length:提取的字符数量。

使用技巧:

  • 如果start超过字符串长度,返回空字符串。
  • 如果start + length超过字符串长度,提取到末尾。
  • 在某些数据库中(如SQL Server),start从1开始;在MySQL中,从1开始的默认行为相同。

实际应用场景

为了更好地理解这些函数的使用方法,我们通过一个具体的场景来说明:

假设我们有一个员工表employees,包含以下数据:

name
phone
John Doe
1234567890
Alice Smith
9876543210
Bob Johnson
5556667777

(1)提取姓名的前4个字符

SELECT name, LEFT(name, 4) AS short_name
FROM employees;
name
short_name
John Doe
John
Alice Smith
Alic
Bob Johnson
Bob

(2)提取电话号码的后4位

SELECT phone, RIGHT(phone, 4) AS last_digits
FROM employees;
phone
last_digits
1234567890
7890
9876543210
3210
5556667777
7777

(3)提取名字的第2到第5个字符

SELECT name, SUBSTRING(name, 2, 4) AS middle_name_part
FROM employees;
name
middle_name_part
John Doe
ohn
Alice Smith
lice
Bob Johnson
ob J

通过以上示例,我们可以看到LEFT()、RIGHT()和SUBSTRING()函数在实际应用中的具体用法。这些函数在数据处理和查询中非常实用,能够帮助我们快速提取所需的信息。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号