2014-06-17 68 views
0

我需要通過使用範圍從表中獲取一些值。選擇值BETWEEN [array] AND [array]

實施例: 我需要得到其中「值」是4至10。

Result.where('values BETWEEN ? AND ?', 4, 10) 

我還需要獲得其中「值」是11與20

的所有值的所有值
Result.where('values BETWEEN ? AND ?', 11, 20) 

是否有可能得到這與一個查詢?

+2

您可以'UNNEST'陣列和'JOIN'這個嵌套的表格過濾您的結果。 –

回答

3
Result.where('values BETWEEN ? AND ? OR values BETWEEN ? AND ?', 4, 10, 11, 20) 

,甚至更短的如果所有的值都是整數(因爲BETWEEN在PostgreSQL是包容的兩端):

Result.where('values BETWEEN ? AND ?', 4, 20)