Oracle中的函数(持续更新)

背景

公司用的就是Oracle,我一点底子都没有,每天就是瞎搞,现在持续更新学到的Oracle函数

Oracle自带函数

instr函数

instr函数有两种用法

instr(string1, string2) 

instr(string1, string2, start, 第N次)

instr函数第一种形式

instr(string1, string2)是在string1中寻找第一次出现string2的位置,返回它第一次出现的索引(从1开始,而不是0),假如不存在就返回-1,所以有个小技巧:

Oracle的模糊查询

字段名 like '%a%'

这种模糊查询,不能使用索引,所以效率很慢,推荐使用如下

instr(字段名, '你要找的子字符串') > 0

这个的效果和模糊匹配一样,因为只要<0就是没有包含该字符串,>0就是有,可以达到统一的效果,而且效率更高!

instr函数第二种形式

instr(string1, string2, start, 第N次) 是在string1中从索引start开始寻找第N次出现string2的位置,返回它第一次出现的索引(从1开始,而不是0),假如不存在就返回-1

注意:这里的start参数

-x:代表从倒数第x个位置的字符开始匹配,从后向前找

x:代表从第x个位置的字符开始匹配,从前向后找

nvl函数

nvl(expr1, expr2)

如果expr1存在,即不为空,则使用expr1,否则使用expr2。可以拿来做空值替代。

猜你喜欢

转载自blog.csdn.net/a2940093904/article/details/88857239
今日推荐