我创建了下表:
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'
答案 0 :(得分:0)
假设您没有使用区分大小写的标识符(您不是也不应该使用区分大小写),对象名称将以大写形式存储在数据字典中。因此,当您查询all_tab_columns
这样的表时,您需要使用大写
SELECT column_name, char_used
FROM all_tab_columns
WHERE table_name = 'TEST'
AND owner = 'TEMP'