mysql lpad 列_mysql的lpad函数

lpad:即left padding的简称,意思是左边填充,格式为lpad(str,len,padstr)。

参数说明:

str:要处理的对象

len:处理完后的str长度为len

padstr:如果str的长度小于len指定的值,那么长度差由padstr在左边填充;如果str的长度大于len指定的值,则截取str到len指定的长度。

返回值说明:

lpad函数返回的是处理后的str

如下几个例子简单说明下:

SELECT lpad('zhao',10,'-');

结果:

bbdcf0835513db91267613fbe4fbc914.png

可以看到"zhao"的长度因为是4自然就小于10,那么10-4=6,这个6的长度差就有padstr(这里是"-")来填充。

再如:

SELECT lpad('zhao',2,'-');

结果:

0ea82653deed91ea8f689aca1344ee8a.png

学是很好学,有什么用呢?比如现在我又这样一个需求,需要在页面上展示出某个表的创建语句,我们知道怎么在mysql里面获取一个表的创建语句“SHOW CREATE TABLE   abc”即可(abc是表名),但是要求不止于此哦,页面上不仅要求显示表的创建语句,还要求格式化显示,那你可能说也不难,我语句既然已经可以取到了,使用java处理一下语句不就行了,当然可以,不过我今天不介绍也不想去想怎么样用java来处理这个格式化的问题,我如果想用mysql怎么处理呢?就像下面的这种效果:

ec9ee9109a189e1a237a1f1c4901ce8b.png

上图中,第一列是列名,第二列是列的类型,第三列是comment,第四列是注释的内容。

分析一下,不管你的列名和列类型是什么,我们可以看到,列名+列的类型的长度总是一定的,加入这个长度总共是40个字符,那么列类型的所占据的宽度就应该是"40-length(列名)",不够的话就用空格填充,所以在处理的时候就可以用lpad函数这样子写:

select concat((case when col_no=0 then ' ' else ',' end),col_name,lpad(col_type,40-length(col_name),' ') from

table_field_attr

当然,是用场景并非仅仅如此,我只是拿这个来举个例子,记住它吧,不定什么时候就能帮你省下不少时间。

同理的,还有右填充函数rpad,跟lpad用法类似,我就不赘述了。

点赞

收藏

分享

文章举报

9239da9ea0958f2980d3b14266a7db76.gif

7443628b0808bf41c06574ee61e91166.png

xiaozhuangyumaotao

发布了50 篇原创文章 · 获赞 0 · 访问量 631

私信

关注

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值