【发布时间】:2021-10-05 10:33:47
【问题描述】:
我需要有关 Oracle 数据库上 REGEXP_REPLACE 的帮助。 我想从以下字符串中剪切到短语 [Teradata Database] 中的所有内容并保留其余部分,如果 [Teradata Database] 不在字符串中,则保持不变。
我试过用这种方法解决这个问题,可惜没用。
select TRIM(REGEXP_REPLACE('2021.07.29 13:45:36 ERR GEOSPATIAL_LOCATOR_CBS.sql /mup/projects/IDM IDM IdmLoadDetailLayer.sql 226 3706 42000 [Teradata Database] [TeraJDBC 17.10.00.14] [Error 3706] [SQLState 42000] IDM_UPSERT_FORMER:Syntax error: expected something between '','' and '',''.', '.*(\[Teradata Database\] : .* [^.]+)')) AS ERROR_MESSAGE from dual;
正确结果:
[Teradata Database] [TeraJDBC 17.10.00.14] [Error 3706] [SQLState 42000] IDM_UPSERT_FORMER: 语法错误:预期在 ',' 和 ',' 之间。
提前感谢您的帮助
【问题讨论】:
标签: sql oracle regexp-replace