只是想知道哪个表oracle存储了使用以下命令显示的表描述
DESC DEV_WWM_WEBAPP_SIT1.WORKORDERSPEC
输出:
DESC DEV_WWM_WEBAPP_SIT1.WORKORDERSPEC
Name Null Type
-------------------- -------- -------------------
WORKORDERSPECID NOT NULL NUMBER
**ALNVALUE VARCHAR2(4000 CHAR)**
ASSETATTRID NOT NULL VARCHAR2(100)
WONUM NOT NULL VARCHAR2(15)
CHANGEBY NOT NULL VARCHAR2(30)
**NBNTARGETOBJECT VARCHAR2(30 CHAR)
NBNTARGETATTRIBUTE VARCHAR2(50 CHAR)**
CHANGEDATE NOT NULL DATE
CLASSSTRUCTUREID NOT NULL VARCHAR2(20)
DISPLAYSEQUENCE NOT NULL NUMBER
LINKEDTOATTRIBUTE VARCHAR2(100)
LINKEDTOSECTION VARCHAR2(20)
MEASUREUNITID VARCHAR2(25)
NUMVALUE NUMBER(30,10)
我使用了以下内容,但在VARCHAR2数据类型中可能会看到长度不匹配为突出显示
答案 0 :(得分:4)
ALL_TABLES和ALL_TAB_COLUMNS应该足以检索表结构上的任何元信息。根据{{3}} ALL_TAB_COLUMNS.DATA_LENGTH显示长度(以字节为单位)和ALL_TAB_COLUMNS.CHAR_LENGTH(根据应用于列的长度语义的字符。
在查询中使用而不是DATA_LENGTH
DECODE(char_used,'C',char_lenght,data_lenght) data_length
另外要注意
select * from database_properties where PROPERTY_NAME in ('NLS_CHARACTERSET')
。字节数取决于字符集。
30(字符)x 4(每个字节)= 120(字节)
所以我猜你的数据库使用AL32UTF8
字符集作为默认字符集。