我们在phpmyadmin SQL数据库中有很多行包含如下所示的句子:
a:2:{i:0;a:19:{s:41:s:3:"s:85:"http://link.com/abcd-123.html";s:0:"";s:5:"56";s:0:"";}}
我们想要查找此行中的哪个位置以http://link.com/开头,Ends with 123.html然后删除此前后的任何内容并更新到该行。
我们可以在sql中找到这个链接,但我们不知道如何在之前和之后删除! :
"%http://link.com/%123.html%"
示例:
这个:
a:2:{i:0;a:19:{s:41:s:3:"s:85:"http://link.com/abcd-123.html";s:0:"";s:5:"56";s:0:"";}}
应该在每一行都转换成这个(注意!:“abcd-”在每一行都不同,只有这个链接的第一个和最后一个):
http://link.com/abcd-123.html
感谢您的帮助
答案 0 :(得分:2)
您可以使用MySQL的基本字符串函数来完成此操作。如果只有一个URL,并且您只想从该JSON数据中提取它,那么您可以尝试以下操作:
SELECT SUBSTRING(col,
INSTR(col, 'http'),
INSTR(col, 'html') - INSTR(col, 'http') + 4) AS url
FROM yourTable
在这里演示: