VARHAR2(n) : 可变字符长度 n max = 4000
NVARHAR2(n):可变字符长度 n max = 2000
NUMBER(p,s) p:有效数字 s:小数点后的位数
BLOB:可存储4GB的数据,以二进制类型存储
CLOB:可存储4GB的数据,以字符串类型存储
字符型
固定长度
char(n) n最大2000
nchar(n) n最大1000--存中文多
变动长度的
varchar2(n) n最大2000,支持unicode
nvarchar2(n)--n最大1000,支持unicode
数值类型
number(p,s)
number(5,2) 123.45 有效数字是5位,可以保留2位小数---用的比较多
float(n)-----相对来说用number类型的多
日期类型
date------可以精确到s
timestamp------可以精确到小数秒,即毫秒
其他类型
blob可以存放4g的数据----二进制形式存放的数据
clob可以存4g数据-----字符串形式存储的
number(p,s)
p指有效数字,总共长度
数据类型
. 字符型:
固定长度:CHAR(n)最大值2000、NCHAR(n)最大值1000
可变长度: VCHAR2(n)z最大长度4000、NVARCHAR2(n)最大长度2000
. 数值型: 通常一般情况下采用NUMBER(p,s)类型
NUMBER(p,s) p代表有效数字 s代表小数点后的位数
FLOAT(n) 主要用来存储二进制数
. 日期型: 一般情况下日期类型采用DATE类型
DATE 可以精确到秒
TIMESTAMP 时间戳,可以精确到小数秒
. 其他类型:
BLOB 存放4G的数据
CLOB 存放二进制形式的数据,以字符串的形式存放
数据类型
数据类型:
字符型:CHAR(n)/NCHAR(n)/VARCHAR2(n)/NVARCHAR2(n)
数值型:NUMBER(p,s)、FLOAT(n)
日期型:DATE,TIMESTAMP
其他类型:BLOB(二进制)、CLOB(字符串)-4GB
数据类型:
字符型:CHAR(n),NCHAR(n);VARCHAR2(n),NVARCHAR2(N);
数值型:NEMBER(P,S);
日期型:DATE;TIMESTAMP
其他类型:BLOB;CLOB
Oracle中的数据类型有:字符型、数值型、日期型,其他类型/大对象类型。
固定长度:指输入的字段值小于该字段的限制长度的话,在实际存储数据时,会自动向右补足空格
可变长度:是指当输入的字段值小于该字段的限制长度时,直接将字段值的内容存储到数据块中,而不会补上空白,这样可以节省数据块空间。
N代表长度
以下为常用的,还有一些没有写上去去
1、字符型:
char(n):用于标识固定长度的字符串。最大2000
nchar(n) 支持UNICODE格式数据的,最大1000,一般用这个存储汉字比较多
varchar(n):可变字符串类型。为SQL标准规定的,数据库必须实现的数据据类型。可以存储空字符串。 这个一般不用,用varchar2(n)
varchar2(n):可变字符串类型,是oracle在varchar的基础上自行定义的可变长度字符串,最大长度2k
nvarachar2(n) 支持UNICODE格式数据的,最大长度1k
2、数值型:可用于存储整数、浮点数。
number(m,n):m表示有效数字的总位数(最大为38位),n表示小 数位数。
FLOAT(N) 主要用于存储二进制数值的,能表示位数是1-126位,如果要转换成十进制,就要乘以0.30103
3、日期时间型:
date:包含Year(年)、Month(月) 、Day(日)、Hour(时)、Minutes(分)、Second(秒)
说明:(yyyy表示4位年分;mm表示月份;dd表示天;hh表示时;mi表示分;ss表示秒)
范围 公元前4712年1月1日到公元前9999年12月31日
TIMESTAMP 时间戳类型 能精确到小数秒 ,
4、(lob)大对象类型:
lob:用于存储大对象类型。例如:文本信息长度超过4000、二进制文件等。最大容量为4GB。
lob分类:
clob:这个里面存储的格式是以字符串的格式存储,一般存储大型文本数据(例如:备注信息)
NCLOB 它存储UNICODE类型的数据
blob:里面存储的格式是以二进制的格式存储,一般存储的二进制数据。(例如:图片文件)
bfile:作为独立文件存在的二进制数据。
5、特殊数据:
null与空字符串:null与空字符串,都要用is null或is not null进行比较。
单引号:想将单引号做为字符中使用,请通过单引号进行转义。
6、注意:oracle中,没有布尔类型,可利用字符串或数值(1/0)表示
字符型 char (长度n<=2000)nchar (n<=1000)固定长度类型;varchar2(n<=4000)nvarchar2(n<=2000)可变长度类型
数值型 number(p,s)p:有效数字 s:小数点后的位数 s>0小数点到最低有效数字的位数,s<0最高有效数字到小数点的位数;float(n)存储二进制数
日期型 date timestamp
其他类型 clob字符串形式存储 blob二进制形式存储
数据类型
字符型:固定长度:char(n)[n-max/2000]、nchar(n)[n-max/1000]
可变长度:varchar2(n)[n-max/4000]、nvarchar2(n)[n-max/2000]
数值型: number(p,s)[p-有效数字/s-小数点后的位数(s>0小数点到最低有效数字的位数,s<0最高有效数字到小数点的位数)]
float(n)存储二进制数
日期型:date精确到秒
timestam精确到小数秒
其他型blob
clob
Oracle11g数据类型
1、字符型
CHAR(n)和NCHAR(n):都是固定长度类型,也就是不足长度时,空格来替补,NCHAR是按照unicode格式存放数据的,正常情况下CHAR类型的n最大值是2000,NCHAR的n最大值是1000,一般情况下用NCHAR类型存储数字类型比较常用。
VARCHAR2(n)和NVARCHAR2(n):它们属于可变长度数据类型,存放多少字符,占用多少空间,相对来说节省空间,NVARCHAR2(n)支持unicode存放,VARCHAR2(n)最大值是4000,而NARCHAR2(n)是2000。
2、数值型
NUMBER(p,s):参数p代表有效数字,参数s代表小数点后的位数,如果s为整数,则表示从小数点到最低有效的位数,如果为负数,则代表从最大有效数字到小数点的位数。
FLOAT(n):主要用来存储二进制数据,它能表示的二进制的位数是1到126位,如果想将这个二进制转换为十进制,就需要将这个数乘以0.30103,所以通常在oracle数据库中都使用NUMBER类型。
3、日期型
DATE:可以精确到秒。
TIMESTAMP:可以得到小数秒,一般情况下都会使用DATA类型。
4、其他类型(大对象数据)
BLOB:可以存放4G的二进制数据,它以二进制存放数据。
CLOB:可以存放4GB的字节数据,它以字符串来存放数据。
数值型:number(r,s):
r表示有效数字,s表示小数点后的位数
日期型:timestamp时间戳
其他类型:blob和clob,都可以存放4gb的数据,blob是二进制形式存放数据,clob是字节形式存放
Oracle11g数据类型
1、字符型
CHAR(n)和NCHAR(n):都是固定长度类型,也就是不足长度时,空格来替补,NCHAR是按照unicode格式存放数据的,正常情况下CHAR类型的n最大值是2000,NCHAR的n最大值是1000,一般情况下用NCHAR类型存储数字类型比较常用。
VARCHAR2(n)和NVARCHAR2(n):它们属于可变长度数据类型,存放多少字符,占用多少空间,相对来说节省空间,NVARCHAR2(n)支持unicode存放,VARCHAR2(n)最大值是4000,而NARCHAR2(n)是2000。
2、数值型
NUMBER(p,s):参数p代表有效数字,参数s代表小数点后的位数,如果s为整数,则表示从小数点到最低有效的位数,如果为负数,则代表从最大有效数字到小数点的位数。
FLOAT(n):主要用来存储二进制数据,它能表示的二进制的位数是1到126位,如果想将这个二进制转换为十进制,就需要将这个数乘以0.30103,所以通常在oracle数据库中都使用NUMBER类型。
3、日期型
DATE:可以精确到秒。
TIMESTAMP:可以得到小数秒,一般情况下都会使用DATA类型。
4、其他类型(大对象数据)
BLOB:可以存放4G的二进制数据,它以二进制存放数据。
CLOB:可以存放4GB的字节数据,它以字符串来存放数据。
数据类型:
字符型数据:
固定长度类型:必须占满n位
CHAR(n) n最大为2000
NCHAR(n)按照unicode格式存放数据,n最大为1000
可变长度类型:相对更节省空间
varchar2(n),n max=4000
nvarchar2(n),n max=2000
数值型:
NUMBER(p,s)p表有效数字,s表范围(小
数点位数。s为正,表小数点到最低有效数字的位数,s为负,表示小数点到最大有效数字的位数)
NUMBER(5,2) 表有效数字5位,保留两位小数:如123.45
NUMBER(5,-2) 表有效数字5位,保留三位小数:如12.345
FLOAT(n)存储二进制数据,1-126位二进制数
转换成十进制数:FLOAT数乘以0.30103
日期型:
DATE 范围:公元前4712年1.1至公元9999年12.31 精确到秒
TIMESTAMP 精确到小数秒
在oracle中的数据类型,不一样的地方在于字符型:
字符型分为 CHAR NCHAR VARCHAR2 NVARCHAR2
带有N前缀的代表是UNICODE编码格式的,通常可以保存中文数据。
CHAR最大值2000 NCHAR最大1000
VARCHAR2最大4000 NVARCHAR2最大2000
数值型:
特殊的地方在于数值型使用的是 NUMBER(p,s)表示的
p 代表有效数字
s 代表小数点后的位数:s如果为正数,表示从小数点到最低有效数字的位数,如果s为负数,表示最大有效数字到小数点的位数。
FLOAT(n) 主要是存储二进制数据的,能存储的范围是1~126位,如果需要转换为十进制,需要额外乘以0.30103得到。
日期型数据:
DATE 直接精确到秒
TIMESTAMP 精确到小数秒(毫秒)
大数据类型:
BLOB:4GB的二进制数据
CLOB:4GB的文本数据
字符型:char(n)不可变长度,固定n,最大2000;nchar(n)存储汉字比较多,最大1000
varchar2(n)可变长度的,最大4000;nvarchar2(n)最大2000
数值型:number(p,s) p:有效数字 s:小数点后的位数,常用
float(n)存储二进制数据,1到126位,转换为十进制数时要乘以0.30103
日期型:date 表示范围:公元前4712年1月1日到公元9999年12月31日
timestamp时间戳类型,精确到小数秒
其他类型:blob可以存4GB字节数量的数据,以二进制的形式存放
clob可以存4GB字节数量的数据,以字符串的形成存放
数据类型
1.字符型
char(n) nchar(n),固定类型char最大2000、nchar最大1000、一般用nchar保存汉字多
varchar2(n) nvarchar2(n),可变类型varchar2最大4000、nvarchar2最大2000
2.数值型
number(p,s),p为有效数字、s为小数点后的位数
float(n),存放二进制数(二进制转化为十进制需*0.30103)
一般用number
3.日期型
date,范围是公元前4712年1月1日到公元9999年12月31日,精确到秒
timestamp,时间戳类型,精确到小数秒
一般用date
4.其他类型
blob,4GB数据,以二进制形式存放
clob,4GB数据,以字符串形式存放
Oracle中数据类型number(m,n)中m表示的是所有有效数字的位数,n表示的是小数位的位数。m的范围是1-38,即最大38位。
1> .NUMBER类型细讲:
oracle number datatype 语法:NUMBER[(precision [, scale])]
简称:precision --> p
scale --> s
NUMBER(p, s)
范围: 1 <= p <= 38,
-84 <= s <= 127
保存数据范围: -1.0e-130 <= number value < 1.0e+126
保存在机器内部的范围: 1 ~ 22 bytes
有效位:从左边第一个不为0的数算起的位数。
s的情况:
s > 0
精确到小数点右边s位,并四舍五入。然后检验有效位是否 <= p。
s < 0
精确到小数点左边s位,并四舍五入。然后检验有效位是否 <= p + |s|。
s = 0
此时NUMBER表示整数。
s表示什么,从小数点什么最低有效的数字
数据类型:
字符型: 可变--CHAR(n)[max=2000]、NCHER(n)[max=1000],不可变--VARCHAR2(n)[max=4000]、NVARCHAR(n)[max=2000]
数值型:NUMBER(p,s),float(n)【二进制】
日期型:DATE 精确到秒,TIMESTAMP精确到小数秒
其他类型:BLOB 可存放4G【二进制】,CLOB可存放4G【字符串形式】。
列中数值指定大小接近一致使用char
列中数值大小显著不同使用varchar
列中所有数据大写接近一致使用uchar
列中数据项的大小差异很大,则使用 nvarchar。
二、数据类型
字符型
定长:char,nchar(unicode 编码 常用于存放汉字)
不定长:varchar2,nvarchar 相对定长更节省空间
数值型
number(5,2) ----有效数据5位,小数占2位 321.45
float ---存储二进制数据
日期类型
date(常用),timestamp(时间戳)
其他类型(存放大对象的数据)
BLOB:以二进制字节数存放4G数据
CLOB:以字符串存放4G数据
表的数据类型
字符型
char(n)
当需要固定长度的字符串是使用char数据类型.这种数据类型的列长度可以是1~2000字节.如果在定义时未指明大小,则默认其占用1个字节
如果用户输入的值小于指定的长度数据库则用空格填充至固定长度.如果输入的值大于指定的长度,数据库则返回错误报告
varchar
数据类型支持可变长度的字符串.该数据类型的大小为1~4000字节.在定义该数据类型时,应指定其大小.与char数据类型相比,使用varchar数据类型可以节省磁盘空间.但是储存效率没有char类型高
nchar(n)和nvarchar(n),表示储存的是Unicode数据类型的字符.
带n 的可以存储 4000个字符,英文字母存在n 类型上也是按两个字节计算。
不带n的可以存储8000个字符,英文字符按一个字节,中文字按两个字节。
一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar
这四种字符型何时使用:
列中数值指定大小接近一致使用char
列中数值大小显著不同使用varchar
列中所有数据大写接近一致使用uchar
列中数据项的大小差异很大,则使用 nvarchar。
Unicode[统一码、万国码、单一码]
我们知道字符 中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这 种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。
数值型
Number(p,s)
P代表有效数字(精度表示数字的总位数)范围在1~38之间
,S代表小数点后的位数(范围表示小数点右边数字的位数)范围在-84到127之间;
Numeberl类型数据可以储存正数,负数,零,定点数和精度为38位的浮点数.
Float(n)
主要用于存储二进制数据表示二进制1~126位
日期型
date
用于存储表中的日期和时间数据.范围为公元前4712年1月1日到公元9999年12月31日date类型精确到秒
timestamp
用于储存日期的年月日以及时间的小时,分和秒值.能够精确到小数秒后六位
其他类型
LOB"大对象"数据类型
可以存储多大4GB的非结构化信息
分类CLOB,BLOB
clob:(Character LOB 字符LOB)能够存储大量字符数据.该数据可以存储单字节字符数据和多字节字符数据可以用于非结构话xmL文档的存储
blob(Binary LOB,二进制LOB)可以存储较大的二进制对象
BFILE(Binary File)能够将二进制文件存储在数据库外部的操作系统文件中.BFILE列存储一个BFILE定位器,指向位于服务器文件系统上的二进制文件.支持的文件最大为4GB.
Oracle中的表可以有多个LOB每个LOB类可以是不同的LOB类型
char()的最大值是2000字节,nchar()的最大值是1000字节,varchar2()的最大值是4000字节,nvarchar2()的最大值是2000字节,因为nchar和nvarchar的前面的n代表的是unicode字符,所以一个字需要的字节是两个。
number(p,s) p:有效数字 s:小数点后的位数
date 范围:公元前4712年1月1日到公元9999年12月31日
blob 字节
clob 字符串
字符型数据类型:
固定长度的数据类型:CHAR(n)类型;NCHAR(n)类型;
CHAR类型的n的最大值是2000;NCHAR类型的n的最大值是1000,一般用NCHAR类型类存储文字类型;
可变长度的数据类型:VARCHAR2(n)类型;NVARCHAR(n)类型;
VARCHAR2(n)类型的n最大值是4000,NVARCHAR(n)类型的n的最大值是2000;
数值型数据类型:
包括整数和小数两部分;
NUMBER(p,s)类型:是Oracle中比较常用的的一个数值型,p在这里代表这有效数字,而s则可以理解为效数点后的位数,也可以理解为是一个范围,若s为一个正数,则s的意义就是从小数点到最低有效数字的位数;若s为一个负数,则s的意义就是从小数点到最大有效数字的位数。
例:NUMBER(5,2)==有效数字是五位,保留两位小数。
FLOAT(n)类型:主要是用来存储二进制数据,还能表示二进制的位数是1~126位(若将二进制数转换成10进制数,则需要将这个数乘以:0.30103);
日期型数据:
DATE类型:DATE类型的存储范围是从公元前4712年1月1日到公元9999年12月31日,DATE类型可以精确到秒的数据类型。
TIMESTAMP类型:时间戳类型,能精确到小数秒的数据类型。
其他类型:
存放大对象的数据:BLOB类型(以二进的形式来存放数据,最大值为4GB)和CLOB类型(以字符串的形式来存放数据,最大值为4GB)
在Oracle中,数值型一般用NUMBER类型
字符型数据类型:
固定长度的数据类型:CHAR(n)类型;NCHAR(n)类型;
CHAR类型的n的最大值是2000;NCHAR类型的n的最大值是1000,一般用NCHAR类型类存储文字类型;
可变长度的数据类型:VARCHAR2(n)类型;NVARCHAR(n)类型;
VARCHAR2(n)类型的n最大值是4000,NVARCHAR(n)类型的n的最大值是2000;
数值型数据类型:
包括整数和小数两部分;
NUMBER(p,s)类型:是Oracle中比较常用的的一个数值型,p在这里代表这有效数字,而s则可以理解为效数点后的位数,也可以理解为是一个范围,若s为一个正数,则s的意义就是从小数点到最低有效数字的位数;若s为一个负数,则s的意义就是从小数点到最大有效数字的位数。
例:NUMBER(5,2)==有效数字是五位,保留两位小数。
FLOAT(n)类型:主要是用来存储二进制数据,还能表示二进制的位数是1~126位(若将二进制数转换成10进制数,则需要将这个数乘以:0.30103);
日期型数据:
DATE类型:DATE类型的存储范围是从公元前4712年1月1日到公元9999年12月31日,DATE类型可以精确到秒的数据类型。
TIMESTAMP类型:时间戳类型,能精确到小数秒的数据类型。
其他类型:
存放大对象的数据:BLOB类型(以二进的形式来存放数据,最大值为4GB)和CLOB类型(以字符串的形式来存放数据,最大值为4GB)
数值型
NUMBER(p,s)
p:有效数字;s:小数点后的位数
FLOAT(n)
日期型
DATE
TIMESTAMP
其他类型
BLOB
CLOB