如何在指定列值时在表中选择多个列名(而不是值) - Oracle

时间:2015-05-28 14:57:21

标签: oracle

我有一个大约30列的表。在30列中我需要检索大约25个列名,其中value设置为某个指定值(比如1)。

我无法找到这样做的方法。多个if语句的工作方式如下

select if columnname1='1' then 'columnname1' else null 
  if columnname2='1' then 'columnname2' else null  from table.

如果值未设置为1,我不想检索列名。

以下查询可以为我提供列名,但我无法使用以下查询指定值 从ALL_TAB_COLUMNS中选择DISTINCT COLUMN_NAME,其中TABLE_NAME ='table_name'。

1 个答案:

答案 0 :(得分:0)

这对你有用吗?

  

SELECT COLUMN_NAME
  来自ALL_TAB_COLUMNS   TABLE_NAME ='TABLE_NAME'的位置   AND INSTR(column_name,'1')> 0