MySQL 如何从字符串中提取子字符串?
MySQL SUBSTRING()函数可以用于从字符串中提取子串。基本上,SUBSTRING()返回一个具有给定长度的子串,从特定位置开始的字符串。它有各种形式,如下所示−
- SUBSTRING(str,pos)
- SUBSTRING(str FROM pos)
- SUBSTRING(str,pos,len)
- SUBSTRING(str FROM pos FOR len)
没有len参数的形式从位置pos开始返回字符串str的子串。带有len参数的形式从位置pos开始返回字符串str的长度为len的子串。使用FROM的形式是标准的MySQL语法。也可以使用负值来表示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 教程