文章目录
- 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 类型。