使用MySql

时间:2015-09-16 12:07:33

标签: php mysql sql string

我在数据库中有很多字符串,如

<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; 中的字符串,并且在之前(如果存在于字符串中)

2 个答案:

答案 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;