Oracle中 怎么根据一个字段的值,去掉另一个字段包含其值的部分(见图)?
发布网友
发布时间:2023-07-14 00:19
我来回答
共1个回答
热心网友
时间:2023-09-28 08:43
个人暂时能想到三个办法:
(1)ltrim
因为都是在左边,而且是多个字符,所以用ltrim。
ltrim(SUPPLIER_SPEC,item_units)
(2)replace
找到字符将相关字符替换为‘’即可。
replace(SUPPLIER_SPEC,item_units,‘’)
(3)substr
substr(SUPPLIER_SPEC,length(item_units)+1,20)
因为两个字段千米你的内容是完全一致的,所以只要从SUPPLIER_SPEC字段的length(item_units)+1位开始截取,截取到最后就可以了,后面的20是为了防止出现特别长的字符串写的,按照你现在给的数据写个5就足够了,我为了以防万一写的20。
如果字段能可能在前面有可能在后面,那么replace应该能实现你的需求,如果都在左边,那么这三种方法应该都可以。