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;
查詢結果:
如查詢結果顯示,排序后的結果可以按照層級關系進行整體排序。