如何选择名称以相同前缀开头的列?

Tot*_*oto -3 sql postgresql

使用 PostgreSQL 8.1.11,有没有办法选择一组名称以相同前缀开头的列。

假设我们有列:PREFIX_col1、PREFIX_col2、...

是否可以执行如下请求:

SELECT 'PREFIX_*' FROM mytable;
Run Code Online (Sandbox Code Playgroud)

这当然是行不通的。

小智 5

information_schema.COLUMNS包含数据库中的所有列,因此您可以查询名称中的特定模式,如下所示:

select c.COLUMN_NAME 
  from information_schema.COLUMNS as c 
 where c.TABLE_NAME = 'mytable' 
   and c.COLUMN_NAME like 'PREFIX_%';
Run Code Online (Sandbox Code Playgroud)

  • 请理解,不鼓励使用“仅代码”答案 - 而是添加一些解释。并阅读有关*格式化*您的输入的内容! (2认同)