您当前的位置: 首页 >  oracle

liaowenxiong

暂无认证

  • 2浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

常用 ORACLE 函数的解读

liaowenxiong 发布时间:2020-09-07 15:20:59 ,浏览量:2

文章目录
  • substr(),截取源字符串中的字符串
  • rtrim(),将源字符串右边指定的字符删除
  • ltrim(),将源字符串左边指定的字符删除
  • instr(),返回指定字符串在源字符串中的检索位置
  • decode(),条件判断函数
  • rpad(),从右边对字符串使用指定的字符进行填充
  • lpad(),从左边对字符串使用指定的字符进行填充
  • to_clob(),转换成数据类型 clob

substr(),截取源字符串中的字符串

该函数用于截取字符串。

DETAIL_TYPE 的值为 1111053 时:

substr(DETAIL_TYPE,1,6) = 111105; # 表示从 DETAIL_TYPE 的 1 第位开始取 6 位字符。
substr(DETAIL_TYPE,0,6) = 111105; # 也表示从 DETAIL_TYPE 的第 1 位开始取 6 位字符。
rtrim(),将源字符串右边指定的字符删除

RTRIM(#SYSDEPCODE,'0'),假如变量 #SYSDEPCODE 得到的值是’3689000’,那么通过这个函数RTRIM最后得到的是字符串’3689’,这个函数把指定参数右边的0全部去除了。

ltrim(),将源字符串左边指定的字符删除 instr(),返回指定字符串在源字符串中的检索位置
SELECT instr('syranmo','s') FROM dual; -- 返回 1  s在syranmo的检索位置为1
SELECT instr('syranmo','ra') FROM dual;  -- 返回 3 ra在syranmo的检索位置为3
SELECT instr('syranmo','a',1,2) FROM dual;  -- 返回 0

解读:instr() 返回指定字符串在源字符串中的检索位置, instr('syranmo','a',1,2),在 syranmo 中检索 a,从左至右找,从第 1 个字符开始找,返回 a 在字符串 syranmo 第 2 次出现的位置,a 在字符串 syranmo 中只出现 1 次就没有再出现了,所以返回 0。

decode(),条件判断函数
select decode( x , 1 , ‘x is 1’, 2 , ‘x is 2’, ‘others’) from dual 

当 x 等于 1 时,则返回 x is 1 ,当 x 等于 2 时,则返回 x is 2 ,否则返回 others

rpad(),从右边对字符串使用指定的字符进行填充

rpad(s1,long,s2)

s1 表示:被填充的字符串    long 表示:返回的字符串长度 s2 是个可选参数,这个字符串是要拼接到 s1 的右边,如果这个参数未写,rpad() 函数将会在s1的右边拼接空格。    例如:

rpad('tech', 7); # 将返回'tech   '   
rpad('tech', 2); # 将返回'te'   
rpad('tech', 8, '0'); # 将返回'tech0000'   
rpad('tech on the net', 15, 'z'); # 将返回 'tech on the net'   
rpad('tech on the net', 16, 'z'); # 将返回 'tech on the netz'
lpad(),从左边对字符串使用指定的字符进行填充
lpad('21',5,'0'); # 返回00021,意思就是返回值是5位,不足就在左边补0
to_clob(),转换成数据类型 clob

常用于将 long 类型转换成 clob 类型。

关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.0465s