Oracle之如何替换相关结果数据

432 阅读2分钟

「这是我参与2022首次更文挑战的第5天,活动详情查看:2022首次更文挑战

今日份知识学习

今天我们来学习替换内容相关的函数,在java中,替换一般都是使用replace方法,在Oracle中其实也是有replace函数方法的,下面一起来看一下吧。

具体讲解

在实际开发场景中,我们经常要处理查询出的参数内容的,并且将其有规律的替换成项目需要的内容。

下面我们就来介绍两个Oracle中的替换函数方法。

translate

translate函数,具体的语法是translate('参数内容或者是字段', '替换前的值', '替换后的值')

来看一下具体的示例SQL吧。

select translate(name, '张', '赵') from user_table;

此函数方法还有一个注意点,单个字符是这样替换没有问题,如果多个字符的话,比如下面的这个SQL。

select translate(name, '张1', '赵2') from user_table;

上述SQL中就不再是一个整体的替换值了,而是将替换成, 将1替换成2;是一一对应的,不是一个整体,这是要注意的点。

那么问题来了,如果我们在替换后的值中没有对应的值怎么办呢?如下SQL中的一样。

select translate(name, '张1', '赵') from user_table;

这里要跟大家说一下,这样的话,其实也是会将1替换的,只不过是替换成空了,在内容上其实也就是给删掉了,不再显示了。

replace

replace函数方法就比较好理解了,这个方法也是我们最常用到的,直接看代码示例吧:

select replace(name, '张', '赵') from user_table;

select replace(name, '张1', '赵2') from user_table;

没有translate函数方法的复杂点了,只是单纯的替换字符串内容而已。

总结

今天学了Oracle如何替换相关数据的函数方法,你有什么感想吗?

最近开始来学习Oracle数据库的一些知识,其中包含一些函数的使用,或者是特性的介绍讲解等,将会在系列文章内说到。

喜欢的可以关注一下专栏。