例如,我有这段文字:
magnalister-Verarbeitung (Amazon)
Marketplace Bestellnummer: 303-8945805-5911960
我想用任何东西替换它。
magnalister-Verarbeitung (Amazon)
Marketplace Bestellnummer:
UPDATE s_order SET `internalcomment` = REPLACE(`internalcomment`, 'magnalister-Verarbeitung (Amazon)
Marketplace Bestellnummer: ', '');
这个语句不起作用,因为中间有一个段落 (亚马逊)和市场
有人可以帮忙解决这个问题吗?
如果我分两步进行,它的工作原理如下:
UPDATE s_order SET `internalcomment` = REPLACE(`internalcomment`, 'magnalister-Verarbeitung (Amazon)', '')
UPDATE s_order SET `internalcomment` = REPLACE(`internalcomment`, 'Marketplace Bestellnummer: ', '')
但这不是一个很好的解决方案:-(
最佳答案
您也可以使用以下内容替换新行:
UPDATE s_order SET `internalcomment` = TRIM(REPLACE(`internalcomment`, 'magnalister-Verarbeitung (Amazon)\nMarketplace Bestellnummer: ', ''));
您还可以使用这样的动态解决方案:
UPDATE s_order SET `internalcomment` = TRIM(REPLACE(`internalcomment`, SUBSTR(`internalcomment`, 1, LOCATE(':', `internalcomment`)), ''));
要替换到第二个:
您可以使用以下解决方案:
UPDATE s_order SET `internalcomment` = TRIM(REPLACE(`internalcomment`, SUBSTR(`internalcomment`, 1, LOCATE(':', `internalcomment`, LOCATE(':', `internalcomment`) + 1)), ''))
WHERE `internalcomment` LIKE '%User Name:%';
关于mysql - 更新文本中的段落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54438060/