扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
oracle数据库的数据类型很特别 分2种..\x0d\x0a一种是oracle内置的数据类型\x0d\x0a一种是PLSQL支持的数据类型,一般PLSQL很好的兼容了oracle内置的数据类型....\x0d\x0a\x0d\x0a我们在建表的时候 就是使用内置的 一般使用number 也可以使用 int等衍生类型来定义整形..\x0d\x0a\x0d\x0aPLSQL中除了上面的number 还可以支持 PLS_INTEGER.
目前成都创新互联已为上千多家的企业提供了网站建设、域名、网络空间、绵阳服务器托管、企业网站设计、金川网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。
int类型只能存储整数;
number可以存储浮点数,也可以存储整数;
number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全;
number(8)存储总长度为8的整数;
int相当于number(22),存储总长度为22的整数。
举例说明:
--创建表结构
SQL create table tab(id0 int,id1 number,id2 number(8,1),id3 number(8));
Table created
SQL
--插入测试数据
SQL insert into tab select 1,1.5,1.6,8 from dual;
1 row inserted
SQL insert into tab select 1,1.55,1.6,8 from dual;
1 row inserted
SQL insert into tab select 1,1.595,1,8 from dual;
1 row inserted
SQL commit;
Commit complete
SQL select * from tab;
ID0 ID1 ID2 ID3
---------- ---------- ---------- ---------
1 1.5 1.6 8
1 1.55 1.6 8
1 1.595 1.0 8
--查询数据字典表dba_tab_columns
SQL select table_name,column_name,data_type,data_length,data_precision,data_scale from dba_tab_columns a
2 where table_name='TAB'
3 and owner='NETMAX'
4 order by column_id;
TABLE_NAME COLUMN_NAME DATA_TYPE DATA_LENGTH DATA_PRECISION DATA_SCALE
--------------- -------------- ----------------- ---------------- ----------- ----------
TAB ID0 NUMBER 22 0
TAB ID1 NUMBER 22
TAB ID2 NUMBER 22 8 1
TAB ID3 NUMBER 22 8 0
SQL
在dba_tab_columns表中,
Data_type表示字段类型;
Data_length表示字段类型的长度;
Data_Precision表示字段类型的精度的总长度,如果为null,表示精度的总长度不固定,最长为Data_Length;
Data_scale表示字段类型的精度范围,如果为0,表示只能存储为整数,
如果为null,表示可以存储整数或者浮点数,浮点数位数不确定,
如果为整数,表示存储的精度位数。
查询dba_tab_columns表,发现tab表中ID0字段类型int已经被转换为number(22)。
首先,id number(1),试一试,看看生成的字段声明还是不是 boolean 类型的。
其次,你对这个字段进行赋值操作试一试能不能成功,比如说赋值“3”,看能不能成功,如果成功说明没有影响,如果出错的话,说明此字段在创建的时候的确是有问题的。
最后,你尝试用id number(2,0) 试一下,是不是有这种情况。一般不会出现这种情况的,愿好运。
整型是oracle数据库中的一个基本类型,一般用integer或int表示。但在oracle中也可用number(N,0)来表示整型。
一个 integer 是集合 Z = {..., -2, -1, 0, 1, 2, ...} 中的一个数。
以下三种方法都是可以的:
create table test
(id int);
create table test
(id integer);
create table test
(id number(10,0));
您可以使用cast函数将数字字符串转化为整型。
cast函数格式如下:
CAST(字段名 as int);
拓展资料
结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。
参考资料:百度百科_SQL
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流