我有一张桌子,上面有一些需要替换的恶意标签
有问题的字符串结束<tr>
并需要替换为</table>
并非所有记录都受到影响,所以我需要找到这些然后替换它们
我们使用 Update Replace Where 的技能是有限的,因为字符在字符串中不是唯一的,但它们的位置是,即最后 4 个字符
尝试过使用
UPDATE table
SET field
REPLACE (RIGHT(field,4),</table>)
但怀疑这是过度简化(也失败了)
试试这个:
UPDATE table
SET field=concat(left(field,length(field) -4),'</table>')
我遇到了类似的情况,需要从transaction
数字字段的末尾替换“_”,其中出现了不止一次的_
in 字段。示例:20161124_C_BGN_5570.77_ & 20161121_C_HRK_1502360000__
解决方案:
UPDATE temp
SET transaction = LEFT(transaction, LENGTH(transaction) -1)
WHERE RIGHT(transaction, 1) = '_';
// 如果是双下划线 (__)
UPDATE temp
SET transaction = LEFT(transaction, LENGTH(transaction) -2) # WHERE id = xxx WHERE RIGHT(transaction, 2) = '__';