在oracle中我从USER_TAB_COLUMNS 要取出字段,字段数据类型,字段长度,问题出来了,如果是number类型的字段,取出来的字段长度始终是22,咋整啊?各位大虾帮忙啊,在线等待...
------解决方案--------------------
这个不是问题,通过DATA_PRECISION和DATA_SCALE就能取得实际长度和小数位数
下面是我测试的过程,楼主看下?
- SQL code
SQL> desc emp Name Null? Type ----------------------------------------------------- -------- ------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2)SQL> select TABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_LENGTH,DATA_PRECISION,DATA_SCALE from user_tab_cols where table_name = 'EMP'; TABLE_NAME COLUMN_NAME DATA_TYPE DATA_LENGTH DATA_PRECISION DATA_SCALE--------------- ------------------------------ --------------- ----------- -------------- ----------EMP EMPNO NUMBER 22 4 0EMP ENAME VARCHAR2 10EMP JOB VARCHAR2 9EMP MGR NUMBER 22 4 0EMP HIREDATE DATE 7EMP SAL NUMBER 22 7 2EMP COMM NUMBER 22 7 2EMP DEPTNO NUMBER 22 2 08 rows selected.