एक सबक्वायरी का उपयोग किए बिना मैं "यह खोजना चाहता हूं कि सरणी में सभी तत्व संख्याओं के उप-समूह के बराबर हैं। तो इसके बजाय 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/