使用ActiveRecord代码在sqlite3和mysql中查找空值和非空值

时间:2012-07-17 11:48:38

标签: ruby-on-rails ruby activerecord sqlite null

我一直在使用mysql,但最近希望能够使用sqlite3离线测试我的应用程序。我一直在写一些声明:

where("date_arrived is not null")

哪个适用于mysql,但是使用sqlite3它不能正常工作'。我必须将其重写为:

where("date_arrived != 'NULL'")

使其在sqlite3中工作。您注意到我必须将NULL放在单引号中并更改比较。

我已经找到了正确的ActiveRecord方式来编写它,这样我就可以在两个DB上使用相同的代码,但是我能得到的最接近的是

where(:date_arrived => nil)

但不是负where喜欢:where(:date_arrived => !nil)

任何线索?

0 个答案:

没有答案