我有一条这样的短信

'
blabla
blablab $!TOBEREMOVED
blabla

'

我想删除所有带有"$!"的行.

因此我的例子就是

'
blabla
blabla

'

我想用这样的方式:

SELECT REGEXP_REPLACE (inhalt,'(' || chr(10) || '.$!.' || chr(10) || ')',''

它不会移除线路.问题是$allready对regex来说意味着什么.

推荐答案

你可以使用:

SELECT inhalt,
       TRIM(REGEXP_REPLACE(inhalt, '(^|' || chr(10) || ').*\$!.*($|' ||
           chr(10) || ')', chr(10))) AS inhalt_out
FROM yourTable;

Sql相关问答推荐

解析键-值对,根据值 Select ,并使用SQL创建新列

有没有办法在每次计算每一行的数据时更新2个值?

替换上一个或下一个值中的空值并添加其价格日期

在SQL中返回缺省值,即使查询不返回任何结果

按用户和时间列出的SQL Group考勤列表

基于开始/结束日期重叠的BigQuery突发行

在Power Bi中将SQL代码转换为DAX

不存在记录的国外关键点

如何在MS Access中基于另外两个表自动填充一个表中的字段?

PostgreSQL中如何提取以特定字符开头的字符串中的所有单词?

如何使用Informix创建一个临时表,将数据从根表导入并使用筛选条件

SQL Server: 将JSON对象数组转换为表格格式

更新之前如何获得价值

SQL 按 id 运行总计并受条件限制(在窗口上)

使用标准SQL 触发更新当前日期

在 Athena / Presto 中提取 JSON 对象以获取动态密钥

PostgreSQL Select 具有两列的自引用

pyspark 将列转换为行

如何比较同一张表中的行并进行相应更新

提取字符串中的最后一个数字