使用SQL-Developer获取列大小的问题

时间:2019-06-08 14:22:40

标签: sql oracle

我正在尝试编写一个查询,该查询返回数据库中特定表中一列的大小

我正在使用SQL Developer环境,并且是我的新手

我尝试了将我在Internet上找到的内容应用到的简单代码:

CREATE TABLE tab1 (
       col1      VARCHAR2(15) PRIMARY KEY,
       col2      Number(4) NOT NULL)

select data_type, data_length 
  from user_tab_columns
 where table_name = 'tab1'
   and column_name = 'col1';

我希望我的第二个查询能够得到:VARCHAR215

但是我明白了:

no data found

您是否知道我在做什么错?

2 个答案:

答案 0 :(得分:3)

您应使用标识符的大写版本:

select data_type, data_length 
  from user_tab_columns
 where table_name = UPPER('tab1')   -- 'TAB1'
   and column_name = UPPER('col1'); -- 'COL1'

db<>fidde demo

  

Schema Object Names and Qualifiers

     

您可以使用带引号或不带引号的标识符来命名任何数据库对象。但是,数据库名称,全局数据库名称和数据库链接名称始终不区分大小写,并且存储为大写。如果将此类名称指定为带引号的标识符,则使用引号引起来。被默默忽略。

答案 1 :(得分:0)

令人惊奇的是!!谢谢你们 ! 很快再见,下一个问题:D