在写本篇博客之前,有一点小东西要写在前面,汉字占多少个字节得看你用的是什么编码集,如果是GBK和GB2312的话,确实是两个字节,在Windows平台上会是你预期的两个字节。但是在linux平台使用的是UTF8字符集,那么就不一定了,不过,我现在做PLSQL等东西一般是在win平台上做的,LINUX只是在安装weblogic和部署应用程序才去一趟。
rpad函数从右边对字符串使用指定的字符进行填充
语法格式如下rpad(string,padded_length,[pad_string])
string
表示:被填充的字符串
padded_length
表示:字节的长度,是返回的字节长度的字符串,如果这个数量比原字符串的字节长度要短,rpad函数将会把字符串截取成从左到右的n个字符;如果正好是中文要被截断,那么这个中文返回的是空格。如:rpad('函数',3) ----返回的是'函 '。
pad_string
是个可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,rpad函数将会在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'
---------------------------------------------------------------------------------------------------------
与rpad函数对应的是lpad函数:
语法格式如下:
lpad( string, padded_length, [ pad_string ] )
string
准备被填充的字符串;
padded_length
填充之后的字符串长度,也就是该函数返回的字符串长度,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;
pad_string
填充字符串,是个可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会在string的左边粘贴空格。
示例1:
SQL> select lpad('abcde',10,'x') from dual;
LPAD('ABCDE',10,'X')
--------------------
xxxxxabcde
示例2:
SQL> select lpad('abcde',10,'oq') from dual;
LPAD('ABCDE',10,'OQ')
---------------------
oqoqoabcde
示例3:
SQL> select lpad('abcde',2) from dual;
LPAD('ABCDE',2)
---------------
ab
--------------------------------------
LPAD和RPAD进行截断时都是从左边开始截断的