如何在 MySQL 中从字符串中提取子字符串?
mysqlmysqli database更新于 2025/5/22 18:52:17
MySQL SUBSTRING() 函数可用于从字符串中提取子字符串。基本上,SUBSTRING() 从字符串的特定位置开始返回具有给定长度的子字符串。它有多种形式,如下所示 −
- SUBSTRING(str,pos)
- SUBSTRING(str FROM pos)
- SUBSTRING(str,pos,len)
- SUBSTRING(str FROM pos FOR len)
不带 len 参数的形式从字符串 str 返回从位置 pos 开始的子字符串。带有 len 参数的形式从字符串 str 返回从位置 pos 开始的长度为 len 个字符的子字符串。使用 FROM 的形式是标准的 MySQL 语法。也可以对 pos 使用负值。在这种情况下,子字符串的开头是距字符串末尾 pos 个字符,而不是开头。在此函数的任何形式中,pos 都可以使用负值。
mysql> SELECT SUBSTRING('Quadratically',5);
+---------------------------------------------------------+
| SSUBSTRING('Quadratically',5) |
+---------------------------------------------------------+
| ratically |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT SUBSTRING('foobarbar' FROM 4);
+---------------------------------------------------------+
| SUBSTRING('foobarbar' FROM 4) |
+---------------------------------------------------------+
| barbar |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT SUBSTRING('Quadratically',5,6);
+---------------------------------------------------------+
| SUBSTRING('Quadratically',5,6) |
+---------------------------------------------------------+
| ratica |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> Select SUBSTRING('foobarbar',-4);
+---------------------------+
| SUBSTRING('foobarbar',-4) |
+---------------------------+
| rbar |
+---------------------------+
1 row in set (0.05 sec)
除了 SUBSTRING() 函数外,MID() 和 SUBSTR() 函数也用于从字符串中提取子字符串。它们都是 SUBSTRING() 函数的同义词。
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

