我有一个大约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'。
答案 0 :(得分:0)
这对你有用吗?
SELECT COLUMN_NAME
来自ALL_TAB_COLUMNS TABLE_NAME ='TABLE_NAME'的位置 AND INSTR(column_name,'1')> 0