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

Postgresql - връща целия ред като масив

Може да е това:http://www.sqlfiddle.com/#!1/d41d8 /364

изберете translate(string_to_array(x.*::text,',')::text,'()','')::text[] от pg_tables като x 

Как работи (отвътре навън), 5 стъпки:

1-ви:

изберете x.*::текст от pg_tables като x; 

Примерен резултат:

<предварителен код>| X |------------------------------------------------ ----------------| (pg_catalog,pg_statistic,postgres,,t,f,f) || (pg_catalog,pg_type,postgres,,t,f,f) |

2-ро:

изберете string_to_array(x.*::text,',') от pg_tables като x; 

Примерен резултат:

<предварителен код>| STRING_TO_ARRAY |--------------------------------------------------| (pg_catalog,pg_statistic,postgres,,t,f,f) || (pg_catalog,pg_type,postgres,,t,f,f) |

3-то:

изберете string_to_array(x.*::text,',')::text от pg_tables като x; 

Примерен резултат:

<предварителен код>| STRING_TO_ARRAY |------------------------------------------------ -| {(pg_catalog,pg_statistic,postgres,"",t,f,f)} || {(pg_catalog,pg_type,postgres,"",t,f,f)} |

4-ти:

изберете translate( string_to_array(x.*::text,',')::text, '()', '') от pg_tables като x 

Примерен резултат:

<предварителен код>| ПРЕВОД |----------------------------------------------------| {pg_catalog,pg_statistic,postgres,"",t,f,f} || {pg_catalog,pg_type,postgres,"",t,f,f} |

Накрая:

изберете translate( string_to_array(x.*::text,',')::text, '()', '')::text[] от pg_tables като x 

Примерен резултат:

<предварителен код>| ПРЕВОД |------------------------------------------| pg_catalog,pg_statistic,postgres,,t,f,f || pg_catalog,pg_type,postgres,,t,f,f |

Тест на живо:http://www.sqlfiddle.com/#!1/d41d8/ 373

За да докажете, че работи:

с as ( изберете translate( string_to_array(x.*::text,',')::text, '()', '')::text[] като colArray от pg_tables като x) изберете row_number() over(), unnest(colArray)from a; 

Примерен резултат:

<предварителен код>| ROW_NUMBER | UNNEST |----------------------------------------| 1 | pg_каталог || 1 | pg_statistic || 1 | postgres || 1 | || 1 | t || 1 | е || 1 | е || 2 | pg_каталог || 2 | pg_type || 2 | postgres || 2 | || 2 | t || 2 | е || 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. Преглед на репликацията на ниво обем за PostgreSQL с помощта на DRBD

  2. Проверете дали таблицата на sqlachemy е празна

  3. Локална грешка на Postgres

  4. Не може да се свърже с postgres с помощта на jdbc в pyspark shell

  5. Проблем със сокет на PostgreSQL Mountain Lion