oracle number数据类型问题 在oracle中我从USER_TAB_COLUMNS 要取出字段,字段数据类型,字段长度,问题出来了,如果是number类型的字段,取出来的字段长度始终是22,咋整啊?各位大虾帮忙啊,在线等待... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你自己定义一个表的一个字段设置create table tb(a number(1))然后你再查一下对应这个表这个字段的长度是多少? 从USER_TAB_COLUMNS 这里取出来data_length 还是22 这个不是问题,通过DATA_PRECISION和DATA_SCALE就能取得实际长度和小数位数下面是我测试的过程,楼主看下?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. number默认情况下,精度为38位,取值范围1~38之间它实际上是磁盘上的一个变长类型,会占用0~22 字节的存储空间.这个DATA_LENGTH可能是取的最大值22吧,我猜的!:-) number默认情况下,精度为38位,取值范围1~38之间它实际上是磁盘上的一个变长类型,会占用0~22 字节的存储空间.这个DATA_LENGTH可能是取的最大值22吧,我猜的!:-) oracle select where in 排序,使用聚合函数排序 求助:Oracle能进em但进不了里面的管理界面和性能界面 oracle 11 创建数据库时 出错,google未果,求助 关于数据库查询语句 请教创建oracle数据库id主键自动递增的写法 Oracle数据表行级监控 请教 在PLSQL中 声明一个TALBE类型的数组,如何查询其中是否包含某个值 值得每个人关注的问题(在线等待) 一个关于 undo_retention的问题 更改字符集数据库不能启动!请高手回答,必送分! oracle 9i 导入dump文件问题 关于oracle的连接问题
create table tb(a number(1))
然后你再查一下对应这个表这个字段的长度是多少?
下面是我测试的过程,楼主看下?
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_col
s where table_name = 'EMP'; TABLE_NAME COLUMN_NAME DATA_TYPE DATA_LENGTH DATA_PRECISION DATA_SCALE
--------------- ------------------------------ --------------- ----------- -------------- ----------
EMP EMPNO NUMBER 22 4 0
EMP ENAME VARCHAR2 10
EMP JOB VARCHAR2 9
EMP MGR NUMBER 22 4 0
EMP HIREDATE DATE 7
EMP SAL NUMBER 22 7 2
EMP COMM NUMBER 22 7 2
EMP DEPTNO NUMBER 22 2 08 rows selected.
它实际上是磁盘上的一个变长类型,会占用0~22 字节的存储空间.
这个DATA_LENGTH可能是取的最大值22吧,我猜的!:-)
它实际上是磁盘上的一个变长类型,会占用0~22 字节的存储空间.
这个DATA_LENGTH可能是取的最大值22吧,我猜的!:-)