文章目录
substr(),截取源字符串中的字符串
- substr(),截取源字符串中的字符串
- rtrim(),将源字符串右边指定的字符删除
- ltrim(),将源字符串左边指定的字符删除
- instr(),返回指定字符串在源字符串中的检索位置
- decode(),条件判断函数
- rpad(),从右边对字符串使用指定的字符进行填充
- lpad(),从左边对字符串使用指定的字符进行填充
- to_clob(),转换成数据类型 clob
该函数用于截取字符串。
当 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全部去除了。
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。
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(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
类型。