MySQL数据库查询字符串数据格式之不足自动填充“0”字符以达到指定位数

MySQL数据库查询字符串数据格式之不足自动填充“0”字符以达到指定位数

在MySQL数据库中,很多时候我们的数据会跟我们想要的输出结果有出入。
例如在数据库中,如果我们保存的是1,但是我们需要他输出显示的是001,那就需要我们在数据1的前面多加几个0
又或者是我们需要输出显示的是100,那就需要在数据1的后面多加几个0
如图:
在这里插入图片描述
例如我们需要查询这个表里的id字段,同时我们要求输出的格式为001,002。

对于我们正常不做任何操作的SQL语句来说,我们只能查询到的格式为1,2,3。

SELECT `id`,`name`,`age` FROM `student`

在这里插入图片描述
那么怎么能把数据改成我们想要的位数呢?我们需要用到LPAD()函数跟RPAD()函数。
先来看看这个两个函数的定义跟简单使用:

LPAD(str,len,padstr)

返回字符串str,左填充用字符串padstr填补到len字符长度。 如果str为大于len长,返回值被缩短至len个字符(即,不能超过 len 长)。
LPAD(字段名, 长度, “填充字符”) : 左填充 0001, 0002。

mysql> SELECT LPAD('hi',4,'??');
+---------------------------------------------------------+
| LPAD('hi',4,'??')                                       |
+---------------------------------------------------------+
| ??hi                                                    |
+---------------------------------------------------------+
1 row in set (0.00 sec)

RPAD(str,len,padstr)

返回字符串str,右补齐字符串 padstr 填补到len字符长度。如果 str 的长度大于len,返回值被缩短至 len 个字符。
RPAD(字段名, 长度, “填充字符”) : 右填充 1000, 2000。

mysql> SELECT RPAD('hi',5,'?');
+---------------------------------------------------------+
| RPAD('hi',5,'?')                                        |
+---------------------------------------------------------+
| hi???                                                   |
+---------------------------------------------------------+
1 row in set (0.00 sec)

OK,看完定义回到刚刚的问题,现在去修改我们的SQL语句!

SELECT LPAD(`id`,3,0) as id,`name`,`age` FROM `student`

效果如图:
在这里插入图片描述

同时试一下换成100,200格式的:

SELECT RPAD(`id`,3,0) as id,`name`,`age` FROM `student`

效果如图:
在这里插入图片描述
搞定啦!!!!

如果有写错或者不足的地方,还请在评论区指正!!我会及时修改!!!!!!

请尊重原创,如需转载,还请注明原作者,原文链接,谢谢啦!!!

在这里插入图片描述

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值