Ruby on Rails - 找到值等于NaN的位置

Oll*_*ass 5 ruby activerecord ruby-on-rails rails-activerecord

我应该如何编写查询来查找值为NaN的记录?

> Person.where(age: NaN)
NameError: uninitialized constant NaN
Run Code Online (Sandbox Code Playgroud)

Aru*_*hit 5

你应该做:

Person.where(age: Float::NAN)
Run Code Online (Sandbox Code Playgroud)

检查此ID


And*_*eko 1

如果您不一定需要通过选择获得 AR 集合,但可以使用数组,则可以这样做:

Person.all.select{ |p| p.age.nan? }
Run Code Online (Sandbox Code Playgroud)