>我有一个带有"内容"列的表格存储论坛帖子,"内容"字段的一条记录中有一个或多个URL,我想获取"内容"列中的所有URL,一行一个url,我使用以下代码
select substr(`content`, locate(`content`,"http://"))
它适用于一条记录中的一个 URL,获取类似 URL 的列表
- http://www.google.com
- http://www.facebook.com
- 。
仅当记录中有多个 URL 时,它才会获取第一个 URL。
如何解决?
另一种看待它的方法是尝试:
SELECT GROUP_CONCAT(substr(`content`, locate(`content`,"http://"))) FROM your_table;
这会将所有 URL 连接到一个字符串并从那里继续 - 也许您可以在代码中拆分它,而不是要求数据库执行此操作。否则,您可以使用整数 1-n 的辅助表进行破解:SQL 拆分逗号分隔行