web-dev-qa-db-ja.com

特定の文字列で始まる指定されたテーブルのすべての列を一覧表示する方法

名前が「img」で始まるすべての列をPostgreSQLテーブルから選択する方法は?

書いたが動作しない

select 'img%' from mytable
1
ilFonta

この目的で INFORMATION_SCHEMA ビューを使用できます。

create table tbl 
(
    id serial,
    img1 text,
    img2 text,
    foo int,
    bar int,
    img14 text
);
select table_catalog, table_name, column_name
from   information_schema.columns
where  table_catalog = 'postgres'
and    table_name = 'tbl'
and    column_name like 'img%';
 table_catalog | table_name | column_name 
:--------- :--------- | :---------- 
 postgres | tbl | img1 
 postgres | tbl | img2 
 postgres | tbl | img14 

db <> fiddle ---(ここ

2
McNets