sql >> Database >  >> RDS >> PostgreSQL

Hoe te controleren of PostgreSQL-array waarde bevat?

Soms moet u controleren of er een waarde bestaat in de PostgreSQL-array. In dit artikel zullen we bekijken hoe u kunt controleren of de PostgreSQL-array waarde bevat.



Hoe te controleren of PostgreSQL-array waarde bevat

Het is heel eenvoudig om te controleren of een waarde aanwezig is in een PostgreSQL-array, met behulp van ELKE functie.

Hier is de syntaxis van ELKE functie.

value = ANY (array)

In de bovenstaande verklaring moet u de waarde specificeren die u wilt controleren en de array waarin u de aan-/afwezigheid wilt controleren. U kunt ELKE functie specificeren als een SELECT-kolom of in de WHERE-component.

U kunt de array specificeren als een letterlijke waarde met ronde accolades en enkele aanhalingstekens (bijv. '{1, 2, 3}'), een kolomnaam met het gegevenstype array, of zelfs een subquery waarvan het resultaat een array is.

De bovenstaande instructie retourneert t/f voor True/False.

Hier is een eenvoudig voorbeeld van ELKE verklaring.

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

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

Hier zijn de verschillende manieren om de array in PostgreSQL bij te werken. Laten we zeggen dat je de volgende matrixkolom hebt.

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

In het bovenstaande voorbeeld hebben we kolom verkoop gemaakt als een array van gehele getallen.

Laten we ook gegevens invoegen in onze matrixkolom.

# 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 is de SQL-query om alleen die rijen te selecteren waar waarde 7 aanwezig is in array sales

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


Controleer waarde in array met Ubiq

De rapportagetool van Ubiq ondersteunt alle bovenstaande SQL-query's en maakt het eenvoudig om SQL-resultaten op verschillende manieren te visualiseren. Hier is de hierboven genoemde SQL-query, in Ubiq. U kunt de resultaten van SQL-query's ook plotten in grafieken en dashboards en deze met anderen delen.

Een rapportagetool voor PostgreSQL nodig? Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!

  1. MySQL Galera-clusterreplicatie gebruiken om een ​​geo-gedistribueerde cluster te maken:deel één

  2. Gegevenscontrole in NHibernate en SqlServer

  3. Opbouwen en onderhouden van een HR-database

  4. PgBouncer 1.7 - "Kleuren variëren na opstanding"