簡體   English   中英

按一個條件過濾多列 Postgresql

[英]Filter multiple columns by one condition Postgresql

我在 Postgresql 表中有多個相同類型的字段,即 bigint。 我想選擇 int 范圍內的值 (-2147483647, 2147483647)。 我試圖做這樣的事情,但有多個領域,它看起來並不好:

select * from test_table
where field1 between -2147483647 and 2147483647  
  and field2 between -2147483647 and 2147483647  
  and field3 between -2147483647 and 2147483647

如何對多列應用一個范圍過濾?

您可以將int8range范圍運算符和字段值數組結合使用:

SELECT *
FROM test_table
WHERE int8range(-2147483647, 2147483647) @> ANY(ARRAY[field1, field2, field3])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM