Question de requête originale :
Déterminer si une valeur spécifique existe dans un tableau PostgreSQL est une exigence de requête courante. Cependant, trouver des solutions simples présente souvent des défis.
Méthodes existantes :
Une méthode suggérée consiste à utiliser :
<code class="language-sql">select '{1,2,3}'::int[] @> (ARRAY[]::int[] || value_variable::int)</code>
Une autre version simplifiée est :
<code class="language-sql">select '{1,2,3}'::int[] @> ARRAY[value_variable::int]</code>
Utilisez N'IMPORTE QUELLE solution d'optimisation :
Un moyen plus simple consiste à utiliser l'opérateur ANY :
<code class="language-sql">SELECT value_variable = ANY ('{1,2,3}'::int[])</code>
Les avantages de ANY :
Le bon opérande deANY peut gérer à la fois les ensembles et les tableaux, ce qui le rend très polyvalent. De plus, il prend en charge l'indexation GIN ou GiST pour les opérateurs de tableau et l'indexation B-tree pour les comparaisons d'éléments.
Remarque :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!