sql >> Databasteknik >  >> RDS >> PostgreSQL

Oracle Cast och MULTISET tillgängliga i POSTGRES

Tyvärr stöder PostgreSQL inte riktigt SQL-standarden MULTISET operatorn, inte heller kapslade uppsättningar i allmänhet. Du kan skapa en ARRAY av ROW typer som denna:

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

Och du kan till och med avstyra ovanstående array

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

Så, om en ARRAY av ROW är acceptabelt för dig, kan du skriva något så här:

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

Om du har ditt eget OBJECT skriv in PostgreSQL, du kan casta den anonyma ROW till din typ:

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



  1. hur man sorterar varchar-kolumn som innehåller numeriska värden med linq lambdas till Entity

  2. Skapa ett ER-diagram i pgAdmin

  3. Hur man använder ALL Logical Operator i SQL Server - SQL Server / TSQL Tutorial Del 126

  4. Komprimera en specifik partition i en tabell i SQL Server (T-SQL)