问题描述和解决方法
1、出现像这样1、2、3、4......的排序,我们通常用 select [字段] from [数据库] order by [需要排序的字段] asc(正序)/desc(倒序);
2、出现像这样1、2、....... sc1、sc2、sc3、...... sc100、sc101、sc102......的排序,用上面的方法显然是不可以的,我们可以使用
select [字段] from [数据库] order by lpad([需要排序的字段] ,10, '0') asc(正序)/desc(倒序)。
解释Mysql中LPAD函数的用法
LPAD(str,len,padstr)
用字符串 padstr对 str进行左边填补直至它的长度达到 len个字符长度,然后返回 str。如果 str的长度长于 len',那么它将被截除到 len个字符。
LPAD('kingyj',10,'0'); -> '0000kingyj'
与LPAD函数相对应的还有RPAD函数
RPAD(str,len,padstr)
用字符串 padstr对 str进行右边填补直至它的长度达到 len个字符长度,然后返回 str。如果 str的长度长于 len',那么它将被截除到 len个字符。
RPAD('kingyj',10,'0'); -> 'kingyj0000'