PostgreSQL überprüfen, wenn das array enthält ein element aus der linken-hand-array
Ich weiß, dass in PostgreSQL können Sie eine Abfrage ausführen, wie:
SELECT (1 = ANY('{1,3,4,7}'::int[])) AS result
um zu überprüfen, ob die Rechte hand das array das element enthält 1
. Ich Frage mich, ob es eine einfache Möglichkeit zu überprüfen, ob die Rechte-hand-array enthält jedes element aus der linken array. So etwas wie:
SELECT ('{2,3}'::int[] = ANY('{1,3,4,7}'::int[])) AS result
Gibt es eine einfache Möglichkeit dies zu tun, ohne die Iteration über die linke-hand-Schleife selbst?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sicher, verwenden Sie die
&&
array-überschneidungen Betreiber:Sehen array-Funktionen und-Operatoren.
Davon aus, dass Ihre Eingänge sind arrays aber es ist okay, packen Sie mit
unnest()
, hier ist eine Lösung:&&
ist die Hände nach unten mehr prägnant und hoffentlich schneller.