9

我有一张桌子,上面有一些需要替换的恶意标签

有问题的字符串结束<tr>并需要替换为</table>

并非所有记录都受到影响,所以我需要找到这些然后替换它们

我们使用 Update Replace Where 的技能是有限的,因为字符在字符串中不是唯一的,但它们的位置是,即最后 4 个字符

尝试过使用

UPDATE table
SET field
REPLACE (RIGHT(field,4),</table>)

但怀疑这是过度简化(也失败了)

4

2 回答 2

20

试试这个:

UPDATE table
SET field=concat(left(field,length(field) -4),'</table>')
于 2012-08-10T09:41:13.107 回答
2

我遇到了类似的情况,需要从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) = '__';
于 2016-11-25T13:48:05.090 回答