PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Postgresql - trả về toàn bộ hàng dưới dạng mảng

Có thể là thế này: http://www.sqlfiddle.com/#!1/d41d8 / 364

select translate( string_to_array(x.*::text,',')::text, '()', '')::text[] 
from pg_tables as x

Cách hoạt động (từ trong ra ngoài), 5 bước:

Thứ nhất:

select x.*::text from pg_tables as x;

Đầu ra mẫu:

|                                                            X |
----------------------------------------------------------------
|                    (pg_catalog,pg_statistic,postgres,,t,f,f) |
|                         (pg_catalog,pg_type,postgres,,t,f,f) |

Thứ 2:

select string_to_array(x.*::text,',') from pg_tables as x;

Đầu ra mẫu:

|                           STRING_TO_ARRAY |
---------------------------------------------
| (pg_catalog,pg_statistic,postgres,,t,f,f) |
|      (pg_catalog,pg_type,postgres,,t,f,f) |

Thứ 3:

select string_to_array(x.*::text,',')::text from pg_tables as x;

Đầu ra mẫu:

|                               STRING_TO_ARRAY |
-------------------------------------------------
| {(pg_catalog,pg_statistic,postgres,"",t,f,f)} |
|      {(pg_catalog,pg_type,postgres,"",t,f,f)} |

Thứ 4:

select translate( string_to_array(x.*::text,',')::text, '()', '') from pg_tables as x

Đầu ra mẫu:

|                                   TRANSLATE |
-----------------------------------------------
| {pg_catalog,pg_statistic,postgres,"",t,f,f} |
|      {pg_catalog,pg_type,postgres,"",t,f,f} |

Cuối cùng:

select translate( string_to_array(x.*::text,',')::text, '()', '')::text[] 
from pg_tables as x

Đầu ra mẫu:

|                               TRANSLATE |
-------------------------------------------
| pg_catalog,pg_statistic,postgres,,t,f,f |
|      pg_catalog,pg_type,postgres,,t,f,f |

Kiểm tra trực tiếp: http://www.sqlfiddle.com/#!1/d41d8/ 373

Để chứng minh rằng nó hoạt động:

with a as 
(
  select translate( string_to_array(x.*::text,',')::text, '()', '')::text[] as colArray 
  from pg_tables as x
)
select row_number() over(), unnest(colArray)
from a;

Đầu ra mẫu:

| ROW_NUMBER |                  UNNEST |
----------------------------------------
|          1 |              pg_catalog |
|          1 |            pg_statistic |
|          1 |                postgres |
|          1 |                         |
|          1 |                       t |
|          1 |                       f |
|          1 |                       f |
|          2 |              pg_catalog |
|          2 |                 pg_type |
|          2 |                postgres |
|          2 |                         |
|          2 |                       t |
|          2 |                       f |
|          2 |                       f |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm sự khác biệt giữa các dấu thời gian tính bằng giây trong PostgreSQL bằng JOOQ

  2. Thay thế khi mệnh đề IN được đưa vào RẤT NHIỀU giá trị (postgreSQL)

  3. Tại sao cài đặt DBD ::Pg không thành công trong DynaLoader?

  4. PostgreSQL:Dấu thời gian trong tương lai

  5. Làm cách nào để lấy danh sách các múi giờ được hỗ trợ bởi PostgreSQL?