說明:這是在sqlite環境下舉的例子,sqlserver 環境下類似,其它sql數據庫,沒有驗證。
首先執行: SELECT *FROM TaskTicket where DelegateTicketId = 20 ORDER BY DetectionCode DESC
結果如下:
很明顯,排序字段DetectionCode 沒有按我們預期的進行排序。原因可能是按字符串排序,可能是首先比較第一個字符,然后再比較第二個字符.....
按新方式執行:SELECT *FROM TaskTicket where DelegateTicketId = 20 ORDER BY CAST (DetectionCode AS DECIMAL) DESC
結果如下:
很明顯,這次達到了我們想要的排序結果。其它的不需要再贅述了,相信大家都能夠明白。