PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So überprüfen Sie, ob das PostgreSQL-Array einen Wert enthält

Manchmal müssen Sie möglicherweise überprüfen, ob der Wert im PostgreSQL-Array vorhanden ist. In diesem Artikel sehen wir uns an, wie man überprüft, ob das PostgreSQL-Array einen Wert enthält.



So überprüfen Sie, ob das PostgreSQL-Array einen Wert enthält

Es ist sehr einfach zu überprüfen, ob ein Wert in einem PostgreSQL-Array vorhanden ist, indem Sie JEDE Funktion verwenden.

Hier ist die Syntax von JEDER Funktion.

value = ANY (array)

In der obigen Anweisung müssen Sie den Wert angeben, den Sie überprüfen möchten, und das Array, in dem Sie dessen Vorhandensein/Fehlen überprüfen möchten. Sie können JEDE Funktion als SELECT-Spalte oder in der WHERE-Klausel angeben.

Sie können das Array als Literal mit runden Klammern und einfachen Anführungszeichen (z. B. „{1, 2, 3}“), als Spaltennamen mit Array-Datentyp oder sogar als Unterabfrage angeben, deren Ergebnis ein Array ist.

Die obige Anweisung gibt t/f für True/False zurück.

Hier ist ein einfaches Beispiel für eine JEDE Anweisung.

postgres=# SELECT 1 = ANY ('{1,2,3}'::int[]);
 ?column?
----------
 t

postgres=# SELECT 4 = ANY ('{1,2,3}'::int[]);
 ?column?
----------
 f

Hier sind die verschiedenen Möglichkeiten, das Array in PostgreSQL zu aktualisieren. Nehmen wir an, Sie haben die folgende Array-Spalte.

# create table employees ( 
     id int, 
     name varchar, 
     sales integer[] 
);

Im obigen Beispiel haben wir die Spalte sales erstellt als Array von ganzen Zahlen.

Lassen Sie uns auch Daten in unsere Array-Spalte einfügen.

# insert into employees (id, name, sales)
          values (1, ' John Doe', ARRAY [9,7,5,4,3,2]),
                 (2, ' Jim Day', ARRAY [8,6,3,2,9,2]);

# select * from employees;
 id |   name    |     sales
----+-----------+---------------
  1 |  John Doe | {9,7,5,4,3,2}
  2 |  Jim Day  | {8,6,3,2,9,2}

Hier ist die SQL-Abfrage, um nur die Zeilen auszuwählen, in denen der Wert 7 im Array sales vorhanden ist

# select * from employees where 7=ANY(sales);
 id |   name    |     sales
----+-----------+---------------
  1 |  John Doe | {9,7,5,4,3,2}


Überprüfen Sie den Wert im Array mit Ubiq

Das Ubiq-Berichtstool unterstützt alle oben genannten SQL-Abfragen und macht es einfach, SQL-Ergebnisse auf unterschiedliche Weise zu visualisieren. Hier ist die oben erwähnte SQL-Abfrage in Ubiq. Sie können SQL-Abfrageergebnisse auch in Diagrammen und Dashboards darstellen und mit anderen teilen.

Benötigen Sie ein Reporting-Tool für PostgreSQL? Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!