sql >> Database >  >> RDS >> PostgreSQL

Hoe in te voegen in een array in PostgreSQL

Soms moet u in PostgreSQL selecteren in array, toevoegen aan array of array van objecten invoegen. In dit artikel zullen we bekijken hoe je een array in PostgreSQL kunt invoegen.


Invoegen in array in PostgreSQL

Hier zijn de stappen om in de array in PostgreSQL in te voegen. Stel dat u de volgende tabel heeft werknemers(id,naam, telefoonnummers) zodat de kolom telefoonnummers een reeks tekenreeksen is.

create table employees ( 
     id int,
     name varchar, 
     phone_numbers varchar[] 
);

Er zijn twee geaccepteerde syntaxis om in de array in PostgreSQL in te voegen:een met het ARRAY-sleutelwoord en een andere met aanhalingstekens en accolades.


ARRAY-zoekwoord gebruiken

Hier is de SQL-query die moet worden ingevoegd in de array in PostgreSQL met behulp van het ARRAY-sleutelwoord.

# insert into employees (id, name, phone_numbers)
         values (1, ' John Doe', ARRAY ['9998765432','9991234567']);

# select * from employees;
  id |   name    |      phone_numbers
 ----+-----------+-------------------------
   1 |  John Doe | {9998765432,9991234567}


In de bovenstaande zoekopdracht gebruiken we ARRAY ['9998765432′,'9991234567'] om een ​​array in de PostgreSQL-kolom in te voegen.


Enkele aanhalingstekens en accolades gebruiken

We kunnen ook in de PostgreSQL-array invoegen met enkele aanhalingstekens en accolades, zoals hieronder weergegeven.

# insert into employees (id, name, phone_numbers)
  values (2, ' Jim Doe', '{"9996587432","9891334567"}');
 
# select * from employees;
  id |   name    |      phone_numbers
 ----+-----------+-------------------------
   1 |  John Doe | {9998765432,9991234567}
   2 |  Jim Doe  | {9996587432,9891334567}

In het bovenstaande voorbeeld gebruiken we ‘{“9996587432″,”9891334567”}’ om in een array in PostgreSQL in te voegen.

Let op:in dit geval moeten de accolades tussen enkele aanhalingstekens worden geplaatst. Omdat we tekenreekswaarden invoegen, moeten ze ook tussen dubbele aanhalingstekens worden geplaatst in plaats van enkele aanhalingstekens, anders krijgt u een syntaxisfout.


Voeg array van objecten in

U kunt ook een matrix met objecten invoegen als u een matrix met matrixkolommen hebt in PostgreSQL. Stel dat u de volgende tabel heeft, zodat verkoop kolom is een array van array.

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

Hier is de SQL-query om een ​​reeks objecten in PostgreSQL in te voegen.

# insert into employees (id, name, sales)
             values (2, ' Jim Doe', '{{150,100},{200,100}}');

# select * from employees;
  id |   name   |         sales
 ----+----------+-----------------------
   2 |  Jim Doe | {{150,100},{200,100}}

Houd er rekening mee dat u elk array-object moet omsluiten met afzonderlijke accolades, binnen de hoofdaccolades en enkele aanhalingstekens, ‘{{ 150.100} ,{ 200.100} }’ anders krijg je een foutmelding.


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. een kolom vergelijken met een lijst met waarden in t-sql

  2. SQL Server:SELECTEER alleen de rijen met MAX(DATE)

  3. SQL - Zoekopdracht die specifieke waarden invoegt

  4. Hoe Partition By of Max gebruiken?