如何在MySQL中提取字符串的子串?


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() 函数的同义词。

更新于:2020年2月7日

429 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.