站內搜尋:Yahoo搜尋的結果,如果沒有給完整的網址,請在站內再搜尋一次!

2015-11-04

把字串型態的欄位,轉換成數字,再進行排序

很多情況下,都會將數字型態的資料欄位,建立成字串型態的資料欄位,但透過程式取用資料時,卻可能發生莫名其妙的錯誤...
上述的例子,使用SQL查詢:
SELECT          TestNo, TestMemo
FROM              TestTable
ORDER BY   TestNo DESC
本來預期TestNo出現的排列順序是:11,10,9,8,7,6,5,4,3,2,1
但實際出現的排列順序卻是:9,8,7,6,5,4,3,2,11,10,1

簡單的修正一下SQL,就可以得到預期想要的效果了...
SELECT          TestNo, TestMemo
FROM              TestTable
ORDER BY   CAST(TestNo AS integer) DESC

沒有留言:

張貼留言