我在数据库中有很多字符串,如
<iframe src="https://www.youtube.com/embed/-qTiYA1WiY8&index=8&list=PLPNcLSfYNC3Dw535smncyHRCBRmdf1Bti"
frameborder="0" allowfullscreen></iframe>
我想以某种方式改变这些,
原文: www.youtube.com/embed/-qTiYA1WiY8&index=8&list=PLPNcLSfYNC3Dw535smncyHRCBRmdf1Bti
渴望: - www.youtube.com/embed/-qTiYA1WiY8
因此最终的String可以转换为
<iframe src="https://www.youtube.com/embed/-qTiYA1WiY8"
frameborder="0" allowfullscreen></iframe>
我可以使用php执行此操作,但我更喜欢使用mysql查询
我试图使用:
UPDATE MyTable
SET StringColumn = REPLACE (StringColumn, 'SearchForThis', 'ReplaceWithThis')
它必须是一个通用解决方案,可以替换&amp; 中的字符串,并且在“之前(如果存在于字符串中)
答案 0 :(得分:0)
这应该做你想做的事情
UPDATE MyTable
SET StringColumn = REPLACE (StringColumn, CONCAT('&', SUBSTRING_INDEX(SUBSTRING_INDEX(StringColumn, '"', 2), '&', -2)), '')
WHERE ConditionColumn = <CONDITION>
假设src的值包含两个&
实例,并用双引号括起来
答案 1 :(得分:-2)
按照以下方式使用 -
UPDATE mytable SET stringcolumn=SUBSTRING_INDEX(stringcolumn,'&',1);
您可以通过以下查询 -
检查更新前的输出SELECT SUBSTRING_INDEX(stringcolumn,'&',1) FROM mytable;