今天看到两个没有见过的SQL中的函数,总结一下;
函数参数:lpad( string1, padded_length, [ pad_string ] )
其中
string1:源字符串
padded_length: 即最终结果返回的字符串的长度;如果最终返回的字符串的长度比源字符串的小,那么此函数实际上对源串进行截取处理,与substr(string,number1,number2)的作用完全相同,如果padded_length比源字符串的长度长,则用pad_string进行填充,确保返回的最终字符串的长度为padded_length;
pad_string:用于填充的字符,可以不填,默认为空字符
实例:
select lpad('123456',2) from dual --结果为 12
select lpad('123456',7,'0') from dual --结果为 0123456
--注意在左侧填充 lpad中的l为left,左侧的意思
select rpad('123456',2,'0') from dual --结果为 12
select rpad('123456',7,'0') from dual --结果为 1234560
--rpad 填充在右侧,r为right 右侧
总结:
可以看到,当string1源字符串的长度小于padded_length时,lpad、rpad的作用是相同的,都是相当于substr截取字符串,当padded_length大于string1源字符串的长度时,lpad为在源字符串的左侧填充指定字符或者空格,rpad为在源字符串的右侧填充指定字符或者空格;