昨天在编写一个存储过程的时候,使用了LPAD和RPAD这2个函数,将其用法总结如下:
首先,先来介绍下LPAD这一函数,LPAD函数是从左边对字符串使用指定的字符进行填充,从字面意思也可以理解,L是left(左边)的简写,PAD是padded(填充)的简写,所以LPAD就是从左边填充的意思。
具体的语法格式如下:
lpad( string, padded_length, [ pad_string ] )
string
表示:被填充的字符串。
padded_length
表示:
填充之后的字符串长度,也就是该函数返回的字符串长度,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符。
pad_string
表示:是个可选参数,用来填充字符串,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会在string的左边粘贴空格。
下面是一些示例SQL:
--返回值长度大于源字符串长度,将进行填充
select LPAD('123', 4, '0') from dual;
结果为:0123
--返回值长度小于源字符串长度,将进行截断
select LPAD('123', 2) from dual;
结果为:12
--返回值长度大于源字符串长度,没填写对应的填充字符串,将进行填充空格
select LPAD('123', 5) from dual;
结果为:' 123'
与LPAD函数对应的是RPAD函数:
RPAD函数从右边对字符串使用指定的字符进行填充,语法格式与LPAD格式相同:
rpad(string,padded_length,[pad_string])
string
表示:被填充的字符串。
padded_length
表示:
填充之后的字符串长度,也就是该函数返回的字符串长度,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符。
pad_string
表示:是个可选参数,用来填充字符串,这个字符串是要粘贴到string的右边,如果这个参数未写,lpad函数将会在string的右边粘贴空格。
下面是一些示例SQL:
--返回值长度大于源字符串长度,将进行填充
select RPAD('123', 5, '0') from dual;
结果为:12300
--返回值长度小于源字符串长度,将进行截断
select RPAD('123', 2, '0') from dual;
结果为:12
--返回值长度大于源字符串长度,没填写对应的填充字符串,将进行填充空格
select RPAD('123', 5) from dual;
结果为:'123 '
至于这两个函数的应用场景就视项目需求来定了。