2012-07-30 52 views
0

我有一個mySQL數據庫,其中存儲了一個數字的文本字段。 我需要生成按降序編號排序的記錄集。 直到我們得到的數字高於10即排序存儲在MYSQL數據庫的文本字段中的數字

9 
8 
7 
6 
5 
4 
3 
2 
10 
1 

更大的能正常工作是有這個「正確」排序的一個簡單的方法? (我知道我應該在數字字段中的數字,但我正在與我有:))

我在asp/vbscript/jquery頁面上使用結果,所以也許甚至客戶端 - 側解決方案是可行的...

有什麼建議嗎?

回答

1
ORDER BY ABS(text_column) DESC 

或者,如果你也有應對負值:

ORDER BY CAST(text_column AS SIGNED) DESC 
+0

完美的解決方案..謝謝......沒想到會那麼簡單:) – Dog 2012-07-30 12:24:46

0

需要鍵入使用CAST功能,將它轉換爲INTEGER在MySQL:

ORDER BY CAST(text_column AS UNSIGNED INTEGER) 
+0

'INTEGER'將不適用於MySQL。 – 2012-07-30 10:55:37

+0

我已經測試過它以及它在MySQL 5.5版本上的工作。 – Omesh 2012-07-30 10:57:37

+0

你說得對。有用。它不會離開'unsigned'。 – 2012-07-30 10:59:08

0

試試這個 -

... ORDER BY text_column * 1 
相關問題