2012-04-17 46 views
0

我有一個rails應用程序在heroku上運行,由於某些原因,以下範圍造成了很多麻煩,並在PSQL中引發錯誤('rating'是一個整數):是不是導致PSQL Rails應用程序錯誤的範圍

scope :rated, where("posts.rating <>''") 

所以自然我嘗試了下面列出的一切;這些不會導致任何錯誤,但會顯示空值爲STILL的帖子。

scope :rated, where("posts.rating IS NOT ?", nil) 
scope :rated, where("posts.rating > 0") 
scope :rated, where("posts.rating IS NOT NULL") 

在此先感謝!

回答

1

如何組合它們?上述

scope :rated, where("posts.rating IS NOT NULL AND posts.rating > 0") 
+0

消化道出血仍返回值爲空 – BTHarris 2012-04-17 20:31:13

+0

@BTHarris什麼這個生成的SQL的帖子嗎? – 2012-04-17 21:59:22

1

你的第三個選擇應該適用於標準PSQL,但你也可以試試:

posts.rating <> NULL or 
posts.rating NOTNULL 
+1

您可以將它們與NULLIF函數結合使用:NULLIF(posts.rating,0)NOTNULL – 2012-04-17 20:36:51

相關問題