一.函数介绍
lpad函数从左边对字符串使用指定的字符进行填充。从其字面意思也可以理解,l是left的简写,pad是填充的意思,所以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;
--------------------
xxxxxabcde
示例2:
SQL> select lpad('abcde',10,'oq') from dual;
---------------------
oqoqoabcde
示例3:
SQL> select lpad('abcde',2) from dual;
---------------
ab
示例4:
在电商项目中,需要保证订单流水号唯一,下面我们利用lpad函数来提供一种思路
select #{cityCode}||to_char(sysdate,'yyyyMMddHH24miss')||lpad(seq_order_transaction_id.nextval, 6, '0') from dual
我来解释下上面的sql,通过查看sql,我们发现它由入参cityCode,当前时间,seq_order_transaction_id
序列三部分构成,其中seq_order_transaction_id
是自增序列,我们使用lpad函数保证它的位数不变.通过以上方法,我们就实现了订单号唯一且长度一致的目标.