PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Oracle Cast и MULTISET налични в POSTGRES

За съжаление, PostgreSQL всъщност не поддържа SQL стандарта MULTISET оператор, нито вложени набори като цяло. Можете да създадете ARRAY от ROW типове като този:

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

И можете дори да разглобите горния масив

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

Така че, ако ARRAY от ROW е приемливо за вас, можете да напишете нещо подобно:

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

Ако имате свой собствен OBJECT въведете в PostgreSQL, можете да прехвърлите анонимния ROW към вашия тип:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Импортирайте XML файлове в PostgreSQL

  2. дали sql изразът гарантира атомарност в postgres

  3. PostgreSQL - как да определите дали транзакцията е активна?

  4. PostgreSQL подниз получава низ между скоби

  5. „Не може да се намери pg-0.12.2 в нито един от източниците“ при изпълнение на rspec