現在有個欄位sort,型別是VARCHAR2的。里面的內容是 1.1 1.2 .。。。 1.10 1.11這樣的
order by sort asc 和 order by cast(sort as float) asc 都是
1.1 1.10 1.11 1.2 1.3 這樣的。
應該怎么改寫這個排序?
uj5u.com熱心網友回復:
你想改成什么樣的? 及時是按數值型別排序這樣看著也是沒錯的啊uj5u.com熱心網友回復:
最好的解決辦法是,在這張表上增加一個欄位,存盤順序,不然后期的需求變更會讓 SQL 寫的非常難以理解。uj5u.com熱心網友回復:
想要 3.1 3.2 .... 3.10這樣排序 而不是 3.1 3.10 3.11 ..... 3.2 3.3uj5u.com熱心網友回復:
order by substr(sort,0,instr(sort,'.')) asc,to_number(substr(sort,instr(sort,'.')+1))轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/133811.html
標籤:開發
下一篇:oracle里sql優化
