一尘不染

Oracle SQL:从all_tab_columns中选择不会找到现有列

sql

如果我运行以下查询:

select count(*) from all_tab_columns
        where column_name = 'foo'
        and table_name = 'VIEW0';

结果是0。我期望1。

但是,如果我运行以下查询,则会返回许多(预期)行:

select foo from VIEW0;

为什么?我以为我在犯一些愚蠢的语法错误,或者我的理解还差得远。


阅读 121

收藏
2021-05-23

共1个答案

一尘不染

可能的原因是您具有区分大小写的设置。

尝试UPPER如下添加功能。

select count(*) from all_tab_columns
        where column_name = upper('foo')
        and table_name = 'VIEW0';
2021-05-23