我正在尝试从mysql中2个字符串点之间提取数据,我的示例脚本是
'otherdata&p1 = textneeded&otherdata'
我需要拉“ textneeded”位,“ P1 =”是开始位置,并且只会在字符串中出现一次,但是“&”符号可以出现多次。如果这两个点之间什么都没有,则返回一个空白。在我放置其他数据的地方,这可能是我要从中提取数据的点的两端的变化。我根本不是mysql专家,因此不胜感激。
谢谢
最佳答案
您可以使用MySQL的locate()函数获取p1=
子字符串的位置,然后获取下一个&
的位置,并使用substr()提取两者之间的字符串。 +3
和-3
用于补偿p1=
的长度:
set @s='otherdata&p1=textneeded&otherdata';
select substr(@s,locate('p1=',@s)+3,locate('&',@s,locate('p1=',@s))-locate('p1=',@s)-3)
关于mysql - 查找,子字符串查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43680948/