CHAR_USED查询返回'从1列获取的0行'

时间:2013-03-19 16:39:26

标签: oracle

我创建了下表:

Create table temp.test(c1 VARCHAR2(10 BYTE));

我试图使用CHAR_USED来确定列大小是在BYTES还是CHARS中,但我要回的是“从1列中取出0行”。我使用的数据库版本是Oracle 11g。有没有人知道为什么它不返回该表的语义长度信息?

使用的查询如下:

select CHAR_USED from all_tab_columns where table_name='temp.test'
select CHAR_USED from all_tab_columns where table_name='test' and owner = 'temp'

1 个答案:

答案 0 :(得分:0)

假设您没有使用区分大小写的标识符(您不是也不应该使用区分大小写),对象名称将以大写形式存储在数据字典中。因此,当您查询all_tab_columns这样的表时,您需要使用大写

SELECT column_name, char_used
  FROM all_tab_columns
 WHERE table_name = 'TEST'
   AND owner = 'TEMP'