选择名称与 PostgreSQL 中的正则表达式匹配的列

DKS*_*DKS 6 regex postgresql

如何只选择那些名称与 PostgreSQL 中的正则表达式匹配的列?

例如,如何仅选择下表中名称以“A”开头的列,而不在选择列表中显式枚举它们?

id  A1 A2 A3 A4 A5 B
1   a  b  c  d  e  f
2   g  h  i  j  k  l
Run Code Online (Sandbox Code Playgroud)

小智 5

您需要编写一个动态sql('select '||colname||' from (yourtable)')来完成此操作,并且动态 sql 应该从以下 sql 中提供列名:

SELECT column_name 
    FROM information_schema.columns 
    WHERE table_name = '<your table>' 
    AND column_name LIKE '<beginning of column name>%'; 
Run Code Online (Sandbox Code Playgroud)