Postgresql सभी के साथ - postgresql

एक सबक्वायरी का उपयोग किए बिना मैं "यह खोजना चाहता हूं कि सरणी में सभी तत्व संख्याओं के उप-समूह के बराबर हैं। तो इसके बजाय 1 = ALL(ARRAY[1,1,1]) मैं कुछ ऐसा करना चाहता हूं ALL(ARRAY[1,1,1]) IN (1, 5)। क्या यह एक चयन कथन का उपयोग किए बिना संभव है?

उत्तर:

जवाब के लिए 0 № 1

आप इसका उपयोग करना चाहते हैं @> ऑपरेटर।

-- does the column contain all of
select * from test_arrays where values @> array[6, 9];
select * from test_arrays where values @> "{6, 9}"::int[];

यदि आप यह जानना चाहते हैं कि सरणी का कोई भी 1 मान अन्य सरणी में है, तो इसका उपयोग करें && ऑपरेटर:

-- does the column contain at-least one of
select * from test_arrays where values && array[6, 9];
select * from test_arrays where values && "{6, 9}"::int[];

मैं कुछ महीने पहले इस बारे में लिखना पड़ा।

http://www.philliphaydon.com/2016/05/07/postgresql-and-its-array-datatype/