MYSQL补0方式,两种情况,在字段前补0:LPAD(str,len,padstr) ,在字段后补0:RPAD(str,len,padstr)
测试表数据:
select deptname,sort from t_sm_dept ORDER BY sort;
查询排序字段sort的最大长度:
select MAX(LENGTH(sort)) from t_sm_dept;
1. 在字段前补0:LPAD(str,len,padstr)
LPAD(str,len,padstr) 返回字符串 str, 其左边由字符串padstr 填补到len 字符长度。假如str 的长度大于len, 则返回值被缩短至 len 字符。
测试查询:
select sort,LPAD(sort,7,0) from t_sm_dept;
实际运用:
查询语句:
select d.deptname, d.sort, LPAD(d.sort,(select MAX(LENGTH(sort)) from t_sm_dept),0) as sorttemp from t_sm_dept d ORDER BY sorttemp;
查询结果:
2. 在字段后补0:RPAD(str,len,padstr)
RPAD(str,len,padstr) 返回字符串 str, 其右边由字符串padstr 填补到len 字符长度。假如str 的长度大于len, 则返回值被缩短至 len 字符。
测试查询:
select sort,RPAD(sort,7,0) from t_sm_dept;
实际运用:
查询语句(查询及排序):
select d.deptname, d.sort, RPAD(d.SORT,(select MAX(LENGTH(sort)) from t_sm_dept),0) as sorttemp from t_sm_dept d ORDER BY sorttemp;
查询结果:
如查询结果显示,排序后的结果可以按照层级关系进行整体排序。