sql >> Database >  >> RDS >> PostgreSQL

Oracle Cast en MULTISET beschikbaar in POSTGRES

Helaas ondersteunt PostgreSQL niet echt de SQL-standaard MULTISET operator, noch geneste sets in het algemeen. Je zou een ARRAY . kunnen maken van ROW typt als volgt:

select array[row(1, 2), row(3, 4)]

En je zou zelfs de bovenstaande array kunnen verwijderen

select * from unnest(array[row(1, 2), row(3, 4)]) t(a int, b int)

Dus, als een ARRAY van ROW voor jou acceptabel is, zou je zoiets als dit kunnen schrijven:

select array_agg(row(a, b))
from (
  select ...
) t(a, b)

Als je je eigen OBJECT . hebt typ PostgreSQL, u kunt de anonieme ROW casten voor jouw type:

select array_agg(row(a, b)::your_type)
from (
  select ...
) t(a, b)



  1. Postgres:de langste streak (in dagen) per ontwikkelaar definiëren

  2. Sorteren (volgorde op) gebruiken in Select-instructie in SQL Server - SQL Server / TSQL-zelfstudie, deel 109

  3. MySQL-server verbinden met NetBeans

  4. een array doorgeven als een parameter die moet worden gebruikt in een SQL-query met behulp van het IN-commando