oracle中LPAD和RPAD函数的使用方法(加个人总结)

时间:2023-01-25 08:50:37

今天看到两个没有见过的SQL中的函数,总结一下;

函数参数:lpad( string1, padded_length, [ pad_string ] )

其中

string1:源字符串

padded_length: 即最终结果返回的字符串的长度;如果最终返回的字符串的长度比源字符串的小,那么此函数实际上对源串进行截取处理,与substr(string,number1,number2)的作用完全相同,如果padded_length比源字符串的长度长,则用pad_string进行填充,确保返回的最终字符串的长度为padded_length;

pad_string:用于填充的字符,可以不填,默认为空字符

实例:

select lpad('',2) from dual

--结果为 12
select lpad('',7,'') from dual

--结果为 0123456
--注意在左侧填充 lpad中的l为left,左侧的意思
select rpad('',2,'') from dual

--结果为 12
select rpad('',7,'') from dual

--结果为 1234560
--rpad 填充在右侧,r为right 右侧

总结:

可以看到,当string1源字符串的长度小于padded_length时,lpad、rpad的作用是相同的,都是相当于substr截取字符串,当padded_length大于string1源字符串的长度时,lpad为在源字符串的左侧填充指定字符或者空格,rpad为在源字符串的右侧填充指定字符或者空格;