2012-07-25 47 views
0

我在「結果」列中爲四個不同值的數據庫植入了一個數據庫。他們應該代表美元價值,但這是無關緊要的。Rails爲什麼認爲6,500大於10,000?

10,000; 6,500; 1,000; and 0 

在模型中,我創建了這個類的方法

def self.result 
    order("result DESC") 
    end 

在控制器中,我把它叫做

@decisions = Decision.result 

在索引,它的上市他們按以下順序

6,500; 
    10,000; 
    1,000; 
    0 

當我切換DE SC對於ASC ....

def self.result 
    order("result ASC") 
    end 

它顛倒了順序

0 
1,000; 
10,000; 
6,500; 
+0

他們是文本字段,我敢打賭,他們正在按ascii值排序。 – bleeeah 2012-07-25 07:46:24

回答

0

什麼是該列的數據類型?如果是字符串,則以6開頭的字符串比以1開頭的字符串「大」。

1

您正在將數字存儲爲字符串。將列類型更改爲DECIMAL

1

您的列類型是字符串,而不是數字,它們按字符串順序排序。