例如:
普通排序利用:order by 字段名 ASC
但是遇到有中文而且類型是varchar類型的結果就是這樣
政採代(甲)字第0298號
政採代(甲)字第0421號
政採代(甲)字第1098號
政採代(甲)字第1267號(延續)
政採代(甲)字第1179號(延續)
但是我們要的結果應該是這樣:
政採代(甲)字第0298號
政採代(甲)字第0421號
政採代(甲)字第1098號
政採代(甲)字第1179號(延續)
政採代(甲)字第1267號(延續)
解決辦法:
利用oracle函數及正則表達式進行排序
order by to_number(regexp_substr(字段名,'[0-9]*[0-9]',1))