如何在Oracle中获取包含XYZ的列的名称?

时间:2014-05-14 17:27:15

标签: sql oracle

问题

我在网上搜索过这个但似乎无法找到办法。我绝不是甲骨文专家,因为我只用了一个月左右。是否可能,如果是这样,我如何获得Oracle中包含 XYZ 的列的名称?

请参阅以下示例以更好地解释我的意思。

实施例

我运行查询,例如:

SELECT * FROM Customers WHERE CustomerNo = 1;

我看到的结果如下:

COLUMN1  COLUMN2  COLUMN3  COLUMN4  COLUMN5
A001     Y        N        10.10    Y

我无法解释这个(我已经重写了2到3次)如果对你没有意义,请提前道歉,但我要找的是例如:

SELECT column_name FROM Customers WHERE CustomerNo = 1 AND any_column = Y;

导致:

COLUMN2
COLUMN5

1 个答案:

答案 0 :(得分:1)

没有办法在Oracle(或实际上在任何其他数据库中)进行比较*。但是,您可以使用in来促进比较:

SELECT column_name
FROM Customers
WHERE CustomerNo = 1 AND 'Y' in (column2, column3, column5);

如果您不想单独输入表格,则可以从系统视图(例如all_tab_columns)获取表格中的列列表。