mysql - 更新文本中的段落

标签 mysql

例如,我有这段文字:

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: ', ''));

demo on dbfiddle.uk

您还可以使用这样的动态解决方案:

UPDATE s_order SET `internalcomment` = TRIM(REPLACE(`internalcomment`, SUBSTR(`internalcomment`, 1, LOCATE(':', `internalcomment`)), ''));

demo on dbfiddle.uk

要替换到第二个:您可以使用以下解决方案:

UPDATE s_order SET `internalcomment` = TRIM(REPLACE(`internalcomment`, SUBSTR(`internalcomment`, 1, LOCATE(':', `internalcomment`, LOCATE(':', `internalcomment`) + 1)), ''))
WHERE `internalcomment` LIKE '%User Name:%';

demo on dbfiddle.uk

关于mysql - 更新文本中的段落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54438060/

相关文章:

php - 在PHP中通过IP阻止客户端一段时间

C# 从数据库的数据表中添加列

mysql - MySQL 中的排序陷入困境

php - 批量导入/更新数据到数据库

c++ - 使用 C/C++ 连接 mySQL 数据库?

mysql - 将 .sql 文件导入 mysql(最终导入到 excel)

java - Spring Boot中的多子句查询

mysql - 对 phpbb 帖子进行排序。原帖优先,其余按日期降序。一些mysql试验

javascript - 尝试从 mysql 数据库传递信息以做出 native react

mysql - 获取相关表mysql中的记录数