sql >> Databáze >  >> RDS >> PostgreSQL

Oracle Cast a MULTISET jsou k dispozici v POSTGRES

Bohužel PostgreSQL ve skutečnosti nepodporuje SQL standard MULTISET operátor ani vnořené množiny obecně. Můžete vytvořit ARRAY z ROW typu:

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

A dokonce byste mohli rozpojit výše uvedené pole

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

Pokud tedy ARRAY z ROW je pro vás přijatelné, můžete napsat něco takového:

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

Pokud máte svůj vlastní OBJECT zadejte do PostgreSQL, můžete přetypovat anonymní ROW k vašemu typu:

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



  1. Jak EXTRACTVALUE() funguje v MariaDB

  2. Běží kurzory v Django uvnitř otevřené transakce?

  3. Jak používat více databází pomocí php?

  4. Ukončení podpory Salesforce TLS 1.0