我有一个字符串,我想在两个逗号之间找到:N
,并用空白替换两个逗号之间的数据数据。示例如下所示。
目前手动完成,将其导出到excel,进行更改并将其导回数据库。我确信在不需要导出/导入的情况下,可以更好地在编码中完成此操作。
示例:
"This is sting one:Y,this is string Two:X,This is string Three:N,This is string four:N,This is string five:X,"
期望的结果:
"This is sting one:Y,this is string Two:X,This is string five:X,"
真的很感谢你的帮助。
A
答案 0 :(得分:1)
我会使用sql extensions toolkit和regexp_replace
。
我发现正则表达式的nz实现似乎与我的版本上的?
非贪婪修饰符存在一些问题。这里起作用的表达是,[^(:N)]+:N
。
FORTUNE_DB(ADMIN)=> select * from so;
COL1
--------------------------------------------------------------------------------------------------------------
This is sting one:Y,this is string Two:X,This is string Three:N,This is string four:N,This is string five:X,
FORTUNE_DB(ADMIN)=> select regexp_replace(col1,',[^(:N)]+:N','') from so;
REGEXP_REPLACE
-----------------------------------------------------------------
This is sting one:Y,this is string Two:X,This is string five:X,