2012-12-18 31 views
0

請讓我有一個字段(鍵入文本),其中包含一些值(文本和一些int或浮點值)。Mysql/PHP如何選擇和以浮點格式排序結果?

所以我想只選擇浮點數和整數值,並按的值排序主題。

目前我可以單獨獲取花車,但問題是,結果我得到的文本格式,而不是浮動或整數格式(這是正常的我猜)主題排序。例如:

33 
33358 
80 
88000 
90 
99 

請高手,我怎麼會告訴我的查詢要考慮的結果花車,而不是文字,並得到,而不是這樣的結果:

33 
80 
90 
99 
33358 
88000 

在此先感謝

回答

3

使用類似的代碼下面

ORDER BY ABS(columnname) 
+0

如果選擇ABS(-32);'會發生什麼? – GBD

+0

它也適用於我的情況。謝謝你,先生 ! –

9
ORDER BY field * 1 

ORDER BY CAST(field as DECIMAL(10,5)) 

兩者都應該做同樣的事情,但第一個更容易/寫得更快。

0

當您在查詢中選擇該變量時,將VALUE轉換爲float/int格式,然後按該列對結果集進行排序。

eg./ SELECT CAST(價值爲十進制(10,5))AS customname FROM表名ORDER BY customname

記住,你可以同時投射到任何你想要的。

0

將混合值存儲在字段中的文本類型不是一個好主意。如果你想對字段進行排序和過濾,我建議將它們作爲分隔的字段使用 - text,int,float等。
如果你深入數據庫管理員,它會有負面的表現。