MySQL substring()函数

在本教程中,我们将向您介绍MySQL SUBSTRING函数从字符串中提取子字符串。

SUBSTRING函数从特定位置开始的字符串返回一个给定长度的子字符串。 MySQL提供了各种形式的子串功能。

我们将在以下部分中检查SUBSTRING函数的每种形式。

SUBSTRING(string,position);
SUBSTRING(string FROM position);

sql
有两个参数:

  • string参数是要提取子字符串的字符串。
  • position参数是一个整数,用于指定子串的起始字符,position可以是正或负整数。

如果position为正,则SUBSTRING函数从字符串的开始处提取子字符串。请参阅以下字符串。
在这里插入图片描述
例如,要从“MySQL SUBSTRING”字符串中获取子字符串:“SUBSTRING”,子串的位置必须从7开始,如以下SELECT语句:

mysql> SELECT SUBSTRING('MYSQL SUBSTRING', 7);
+---------------------------------+
| SUBSTRING('MYSQL SUBSTRING', 7) |
+---------------------------------+
| SUBSTRING                       |
+---------------------------------+
1 row in set

SQL
请注意,如果position参数为零,则SUBSTRING函数返回一个空字符串:

mysql> SELECT SUBSTRING('MYSQL SUBSTRING', 0);
+---------------------------------+
| SUBSTRING('MYSQL SUBSTRING', 0) |
+---------------------------------+
|                                 |
+---------------------------------+
1 row in set

SQL
除了特定于MySQL的语法之外,可以使用SQL标准语法与FROM关键字一起调用SUBSTRING函数。

例如,以下语句使用SQL标准语法从"MySQL SUBSTRING"字符串中获取"SUBSTRING":

mysql> SELECT SUBSTRING('MySQL SUBSTRING' FROM -10);
+---------------------------------------+
| SUBSTRING('MySQL SUBSTRING' FROM -10) |
+---------------------------------------+
|  SUBSTRING                            |
+---------------------------------------+
1 row in set

MySQL SUBSTRING具有位置和长度
如果要指定要从字符串中提取的子字符串的长度,可以使用以下形式的SUBSTRING函数:

SUBSTRING(string,position,length);

SQL
以下是上述语句的SQL标准版本,它更长,但更具表现力。

SUBSTRING(string FROM position FOR length);

SQL
除了string和position参数之外,SUBSTRING函数还有一个额外的length参数。length是一个正整数,用于指定子字符串的字符数。

如果position和length的总和大于字符串的字符数,则SUBSTRING函数将返回一个从位置开始到字符串末尾的子串。

例如,要从"MySQL SUBSTRING"获取"MySQL",请使用以下语句:

在这里插入图片描述

mysql> SELECT SUBSTRING('MySQL SUBSTRING',1,5);
+----------------------------------+
| SUBSTRING('MySQL SUBSTRING',1,5) |
+----------------------------------+
| MySQL                            |
+----------------------------------+
1 row in set

SQL
又或者 -

mysql> SELECT SUBSTRING('MySQL SUBSTRING' FROM 1 FOR 5);
+-------------------------------------------+
| SUBSTRING('MySQL SUBSTRING' FROM 1 FOR 5) |
+-------------------------------------------+
| MySQL                                     |
+-------------------------------------------+
1 row in set

SQL
或者使用FROM FOR语法:

mysql> SELECT SUBSTRING('MySQL SUBSTRING' FROM -15 FOR 5);
+---------------------------------------------+
| SUBSTRING('MySQL SUBSTRING' FROM -15 FOR 5) |
+---------------------------------------------+
| MySQL                                       |
+---------------------------------------------+
1 row in set

SQL
SUBSTR()函数是SUBSTRING()函数的同义词,所以可以互换使用它们。

在本教程中,您已经了解了和使用SUBSTRING()函数从指定位置开始的字符串中提取具有给定长度的子字符串。


转自:https://blog.csdn.net/qq_34579060/article/details/80283575

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值