Lpad Function:在PL/SQL中用于往源字符串的左侧填充一些字符。
函数参数:lpad( string1, padded_length, [ pad_string ] )
string1:源字符串
padded_length:最终返回的字符串的长度,如果最终返回的字符串的长度比源字符串的小,那么此函数实际上对源串进行截断处理
pad_string:用于填充的字符,可以不填,默认为空字符
下面是几个实例
--返回值长度大于源字符串长度,将进行填充 select lpad('zhanglt',10,'z') from dual; 结果为:zzzzhanglt --返回值长度小于源字符串长度,将进行截断 select lpad('zhanglt',3,'z') from dual; 结果为:zha 这时候的'z' 已经没用,可以删掉
默认情况下将用空格进行填充。
Rpad函数的用法与lpad基本一致,只不过填充方向在左边,需要注意的一点是如果长度小于源串,那么仍然进行截断,并且截断时从左边第一个字符开始。
rpad函数从右边对字符串使用指定的字符进行填充
rpad(string,padded_length,[pad_string])
string 表示:被填充的字符串
padded_length 表示:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,rpad函数将会把字符串截取成从左到右的n个字符;
pad_string 是个可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,lpad函数将会在string的右边粘贴空格。
例如:
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'
SQL> select rpad('aa',5)||decode('bbb',null,' ',rpad('bbb',8))||rpad('cccc',12) from dual;
未经允许请勿转载:程序喵 » 【Oracle】rpad 和 lpad 函数