Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mysql中从最后一个逗号到最后一个逗号提取文本?_Mysql - Fatal编程技术网

如何在mysql中从最后一个逗号到最后一个逗号提取文本?

如何在mysql中从最后一个逗号到最后一个逗号提取文本?,mysql,Mysql,示例文本: 温哥华视点,不列颠哥伦比亚省温哥华市西73大道1200号606室,V6P 6G5 我需要从课文中摘录不列颠哥伦比亚省 谢谢这应该很好用 select substring_index(substring_index('Viewpoint Vancouver, 1200 West 73rd Avenue Suite 606, Vancouver, British Columbia, V6P 6G5',',', -2),',',1) 在这里查看有关子字符串索引的文档-这应该可以很好地工作

示例文本: 温哥华视点,不列颠哥伦比亚省温哥华市西73大道1200号606室,V6P 6G5

我需要从课文中摘录不列颠哥伦比亚省


谢谢

这应该很好用

select substring_index(substring_index('Viewpoint Vancouver, 1200 West 73rd Avenue Suite 606, Vancouver, British Columbia, V6P 6G5',',', -2),',',1)

在这里查看有关子字符串索引的文档-

这应该可以很好地工作

select substring_index(substring_index('Viewpoint Vancouver, 1200 West 73rd Avenue Suite 606, Vancouver, British Columbia, V6P 6G5',',', -2),',',1)

在这里查看子字符串索引的文档-

我推荐Montypyton的解决方案,但希望添加正则表达式解决方案。MySQL从开始就支持正则表达式,MariaDB从那时起就支持正则表达式。以下是MariaDB的一个示例:

SELECT REGEXP_REPLACE('...', '.*,(.*),', '\\1');
例如:

MariaDB [(none)]> select REGEXP_REPLACE('Viewpoint Vancouver, 1200 West 73rd Avenue Suite 606, Vancouver, British Columbia, V6P 6G5', '.*,(.*),.*', '\\1');
+-----------------------------------------------------------------------------------------------------------------------------------+
| REGEXP_REPLACE('Viewpoint Vancouver, 1200 West 73rd Avenue Suite 606, Vancouver, British Columbia, V6P 6G5', '.*,(.*),.*', '\\1') |
+-----------------------------------------------------------------------------------------------------------------------------------+
|  British Columbia                                                                                                                 |
+-----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

我推荐MontyPython的解决方案,但想添加一个正则表达式解决方案。MySQL从开始就支持正则表达式,MariaDB从那时起就支持正则表达式。以下是MariaDB的一个示例:

SELECT REGEXP_REPLACE('...', '.*,(.*),', '\\1');
例如:

MariaDB [(none)]> select REGEXP_REPLACE('Viewpoint Vancouver, 1200 West 73rd Avenue Suite 606, Vancouver, British Columbia, V6P 6G5', '.*,(.*),.*', '\\1');
+-----------------------------------------------------------------------------------------------------------------------------------+
| REGEXP_REPLACE('Viewpoint Vancouver, 1200 West 73rd Avenue Suite 606, Vancouver, British Columbia, V6P 6G5', '.*,(.*),.*', '\\1') |
+-----------------------------------------------------------------------------------------------------------------------------------+
|  British Columbia                                                                                                                 |
+-----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)