Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么Rails认为6500大于10000?_Ruby On Rails - Fatal编程技术网

Ruby on rails 为什么Rails认为6500大于10000?

Ruby on rails 为什么Rails认为6500大于10000?,ruby-on-rails,Ruby On Rails,我在“result”列中为一个数据库添加了四个不同的值。它们应该代表美元的价值,但这无关紧要 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 当我将DESC切换到ASC

我在“result”列中为一个数据库添加了四个不同的值。它们应该代表美元的价值,但这无关紧要

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
当我将DESC切换到ASC

 def self.result
    order("result ASC")
  end 
它颠倒了顺序

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

该列的数据类型是什么?如果是字符串,则以6开头的字符串比以1开头的字符串“大”

您将数字存储为字符串。将列类型更改为
DECIMAL

您的列类型是字符串,而不是数字,它们是按字符串顺序排序的。

它们是文本字段,我打赌它们是按ascii值排序的。