MySQL LPAD 和 RPAD 位数填充函数的使用

341 阅读1分钟

LPAD()函数左键填充另一个字符串到一定长度的字符串

LPAD(s1,len,s2)函数将字符串s2填充到s1的开始处,使字符串的长度达到len,然后返回字符串s1.如果字符串s1的长度大于len,则返回值被缩短至len字符长度.

mysql> SELECT LPAD(123456, 8, 0000);
------------------------- 
| LPAD(123456, 8, 0000)  |
-------------------------
| 00123456		 |
-------------------------

实例: 生成订单编码

mysql> set @n = 0;
mysql> OK
mysql> set @no = CONCAT('J', DATE_FORMAT(CURDATE(), '%Y%m%d'), '0000');
mysql> OK
mysql> SELECT LPAD(@n:=@n+1 ,13, @no) as no;
------------------------- 
| no 			 |
-------------------------
| J202111190001		 |
-------------------------
mysql> SELECT LPAD(@n:=@n+1 ,13, @no) as no;
------------------------- 
| no 			 |
-------------------------
| J202111190002		 |
-------------------------

CONCAT(s1, s2, s3,...) 函数将两个或多个表达式合并在一起. DATE_FORMAT(date, format)函数按指定格式化日期. CURDATE()函数返回当前日期.


RPAD()函数右键填充另一个字符串到一定长度的字符串

RPAD(s1,len,s2)函数将字符串s2填充到s1的结尾处,使字符串的长度达到len,然后返回字符串s1.如果字符串s1的长度大于len,则返回值被缩短至len字符长度.

mysql> SELECT RPAD(123456, 8, 0000);
------------------------- 
| RPAD(123456, 8, 0000)  |
-------------------------
| 12345600		 |
-------------------------