【Oracle】rpad 和 lpad 函数

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;

赞(52) 打赏
未经允许不得转载:优客志 » 数据库
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏