排序错乱的sql及其结果图:SELECT NAMEFROM ST_SCHDULE_NUMORDER BY NAME ASC图片可以看到上图中的1-10排在了1-2的前面,这是因为没有使用...to_number(),针对此问题做出修改.修改思路:先根据字符-前面的数字排序,再根据字符-后面的数字排序排序正确的sql及其结果图:SELECT NAMEFROM ST_SCHDULE_NUMORDER...BY TO_NUMBER(substr( NAME, 1, instr( NAME, '-',- 1 ) - 1 )) ASC, TO_NUMBER(substr( NAME, instr...( NAME, '-',- 1 ) + 1 )) ASC图片