我需要从表中进行选择,但要删除各种字符串。 假设我表中的条目是:
DataMart1:Here is some data and other valuable data
HouseWareMart Other data possibly junk data
DataLake3 there is nothing here
我想删除各种字符串: “有价值的数据” “其他数据” “什么都没有”
所以我会得到:
DataMart1:Here is some data and other
HouseWareMart possibly junk data
DataLake3 here
我曾考虑过嵌套OREPLACE,但语法不正确,搜索“嵌套的OREPLACE”返回的内容无济于事。
有什么建议吗?
答案 0 :(得分:4)
嵌套替换的语法:
select oreplace(oreplace(oreplace(col, 'Valuable data', ''), 'Other data ', ''), 'there is nothing ', '')
答案 1 :(得分:3)
警告:CGRect
区分大小写(oReplace
不匹配'Valuable data'
),并且在删除第一个字符后可能会找到第二个字符,例如'valuable data'
首先从其余字符串中删除'DataLake3 there is valuable data nothing date'
,然后再删除valuable data
。
一种用于删除多个字符串的简单方法是使用there is nothing
(区分大小写)
regexp_replace
或不区分大小写
RegExp_Replace(col, 'valuable data|other data|there is nothing')