mysql order by code REGEXP '^[0-9]',CONVERT(code USING gbk),cast( code REGEXP ('-?[0-9]+') AS unsigned INT ) oracle order by REGEXP_SUBSTR( code,'[[:alpha:]]+'), cast( REGEXP_SUBSTR(code,'-?[0-9]+') AS INT )