關於SQL查詢的字符串類型字段的排序問題


 

   說明:這是在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

   結果如下:

  

   很明顯,這次達到了我們想要的排序結果。其它的不需要再贅述了,相信大家都能夠明白。

 

 

 

 

  

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM