mysql查詢是對字段進行補0操作,可用於樹狀結構整體排序


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;

查詢結果:

如查詢結果顯示,排序后的結果可以按照層級關系進行整體排序。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM