PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Array konversi PostgreSQL dikembalikan dari fungsi ke kolom

dapatkah Anda menggunakan subpilihan?

postgres=# select ar[1], ar[2] from (select string_to_array('a b c', ' ') ar) as sq;
 ar | ar 
----+----
 a  | b
(1 row)

Ini masih mengharuskan Anda mengekstrak setiap kolom secara eksplisit (seperti yang sudah Anda lakukan). Jika ada lebih banyak elemen dalam array daripada yang diekstraksi, mereka akan hilang, dan jika ada lebih sedikit, maka kolom yang hilang hanya akan menjadi NULL .

EDIT:Saya pikir saya akan membungkus semuanya dalam subpilihan; subselect bagian dalam menghasilkan baris yang diinginkan , dengan pilihan luar memproyeksikan kueri dalam ke kolom . yang diinginkan :

SELECT subquery1.a, subquery1.b, subquery1.c, 
    myfunction_result[1], myfunction_result[2] 
FROM ( SELECT table1.a, table1.b, table1.c,
              MyFunction(table1.a, table1.b, table1.c) as myfunction_result
       FROM table1 INNER JOIN table2 using(b) 
       WHERE ... GROUP BY table1.a, table1.b, table1.c
) AS subquery1;

Pilihan dalam dan luar akan menghubungkan table1 dengan benar referensi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuat batasan pengecualian dengan rentang tanggal menggunakan sqlalchemy

  2. Apakah ada cara untuk mendefinisikan konstanta bernama dalam kueri PostgreSQL?

  3. Bagaimana cara mendapatkan daftar zona waktu yang didukung oleh PostgreSQL?

  4. Respons Json terhadap konversi datetime postgresql Java postgresql

  5. psql:FATAL:otentikasi kata sandi gagal untuk pengguna windows 8