Oracle函数篇 -  lpad 函数_# Oracle

一.函数介绍

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函数保证它的位数不变.通过以上方法,我们就实现了订单号唯一且长度一致的目标.