您的位置:首页 > 数据库 > Oracle

oracle小结

2013-10-26 10:47 267 查看
--------------------------------------------数据基本类型-------------------------------------

数据类型 参数 描述 例如

-------------------------------------------------------------------字符数据类型-----------------------------------------------------

char(n) n=1---2000字节 定长字符串,n字节长;如果不指定长度,为1个字节长度;一个汉字占两个字节

在oracle中尤其是存储过程和包中,尽量少用char类型.采用char数据类型存储的时候,不足8位的会补零的.

---------------------------------------------------------------------------------------------------------------------------

varchar(n) 定长字符串

----------------------------------------------------------------------------------------------------------------------------------

varchar2(n) n=1--4000字节 可变字符串,具体定义时指明最大长度n(如果数据长度没有达到最大值n,oracle会根据数据大小自动

调节字段长度;如果数据有空格,oracle会自动删掉)

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

long 可变长字符列,最大长度限制2GB,用于不需要作为字符串搜索的长串数据;如果用字符串搜索,

就用varchar2(n).

-------------------------------------------------------------------数值数据类型--------------------------------------------

number(m,n) m=1-38 可变长的数据列;允许0,正值,负值;m是所有有效数字的位数,n是小数点以后的位数;

n=-84到127 number(5,2),这个数字,的最大值是999.99;如果数值超过了位数限制,就会被截取

多余的位数。例如:number(5,2),输入575.316,而真正保存到字段中的数值是575.32;

number(3,0),输入575.316,真正保存的数据是575.

------------------------------------------------------------日期时间数据类型----------------------------------------

date 用于存储表中日期和时间数据

timestamp

------------------------------------------------------------------------------------------------------------

clob

在oracle中,有4个大对象(lobs)类型可用,分别是blob,clob,bfile,nclob。 下面是对lob数据类型的简单介绍。

blob:二进制lob,为二进制数据,最长可达4GB,存贮在数据库中。

clob:字符lob,字符数据,最长可以达到4GB,存贮在数据库中。

bfile:二进制文件;存贮在数据库之外的只读型二进制数据,最大长度由操作系统限制。

nclob:支持对字节字符集合(nultibyte characterset)的一个clob列。

---------------------------------------------------------------------varchar2比较大小--------------------------------------

假如表中有一个字段是VARCHAR2类型(名为NO),里面存储着'01','02'到'10'十条记录。

1.要想选定其中'03'到'06'的相应记录的话

....where NO >= '03' and NO <='06'.....

2.要想选取,'05'以下的纪录

....where NO <='05'.....

3.可以用to_number(no)>=3 and to_number(no)<=6.

------------------------------------------------------------------ORACLE如何判断列里面值的长度----------------------

select I_CODE from tablename

where length(I_CODE)=4

----------------------------------------------------------Oracle的空值(null)判断-------------------------------------

Oracle

  替换null: nvl(arg,value)

  如: select

nvl(sum(score),0) average

from gc_inspection gi

where gi.userid=30011



  与null比较: is not null,is null

  如 select * from orders where price is null ----price等于null

  如: select * from orders where price is not null -------price不等于null

---------------------------------------------------oracle select--------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: