首页 > 代码库 > Oracle数据库类型

Oracle数据库类型

Oracle数据库类型

字符类型
char[(length)] 定长字符 最长2000字节
varchar2[(length)] 可变长度的字符数据类型,最长4000字节
NCHAR[(length)] 固定长度的字符数据类型,由国际字符语言(national language Support,NLS)字符集字符组成,最长2000字节
LONG 可变长度的字符数据类型 最长2GB
RAW 原始的二进制数据类型,最长2000字节
long raw 原始的二进制数据类型,最长2GB
rawid 数据库中一窜12字节地址,用于定位磁盘上某一行及其所指向的对象
urawid 通用的rawid,用于表,是一种行主键的表示
大对象
blob 大原始二进制对象,最大长度4GB
clob 大字符对象,最大长度4GB
nclob 由NLS字符集字符组成的大字符数据,最长长度4GB
bfile 提供对存储在oracle数据库之外的操作系统文件中的二进制文件访问,最大4GB
日期类型
date 定宽的7字节的日期/时间数据类型,包含7个属性:世纪、年、月、天、小时、分、秒
timestamp 7字节或12字节的定宽日期/时间数据类型,与DATE不同时可以包含小数秒,小数点最多可保留9位
timestamp with time zorn 提供对时区的支持
timestamp with local time zorn 对时区敏感的时间类型
interal year to month 存储年月段,可对date和timestamp类型进行加减运算
interval day to second 存储天/小时/分/秒时间段,支持9位小数秒
数据类型
number[(precision[,scale])] 范围1~38
精度(precision) 数字中的数字位数
尾数(scale) 小数点右边的数字位

oralce只提供一种数字类型:NUMBER 类型,oracle中存储的所有数字数据多可当作number类型(10g后 支持binary_float,binary_double)。下面数据类型可与ANSI SQL兼容:
/**
ANSI SQL :美国国家标准化组织(ANSI)”是一个核准多种行业标准的组织。SQL作为关系型数据库所使用的标准语言,最初是基于IBM的实现在1986年被批准的。1987年,“国际标准化组织(ISO)”把ANSI SQL作为国际标准。这个标准在1992年进行了修订(SQL-92),1999年再次修订(SQL-99)。目前最新的是SQL-2003。
**/
float
numberic
decimal
number
integer
int
smallint
double precision
real

DB2数据库类型

db2提供自建数据类型,也支持自定义类型。如引用类型。

数字类型
smallint 2字节整数,5位精度,范围-32768~32768
integer 4字节整数,10位精度,范围 -2147483648~2147483647
bigint 占8字节存储整数, 19位精度,范围 -9223372036854775808~9223372036854775807
real 单精度浮点型 范围 -3.402*10^38~-1.175*10^-37 或1.175*10^-37~3.402*10^38
double/float 双精度浮点型 64位实数,范围 -1.79769*10^308~-2.225*10^-307或2.225*10^-307~1.79769*10^308
dicimal/nunbric 最大精度支持小数点后31位

字符类型
CHAR 定长
VARCHAR 可变长,最长32672字节
long varchar 可变长,最长32700字节
clob 可变长,最大2GB字节

图形类型(GRAPHIC STRINGS)
一组字节序列,用于呈现双字节字符数据。(图形的二进制存储)
GRAHIC 定长
vargraphic 可变长

二进制类型
BLOB 可变长二进制存储类型,最大达2GB字节
lobs 大对象存储类型,BLOB,CLOB,DBCLOB等类型统称

日期/时间类型
date 日期类型,由三部分组成,年月日,年的范围0001~9999
time 时间类型,小时/分/秒
timestamp 时间类型,7部分组成(year,month,day,hour,minute,second,microsecend)

datalink 数据库引用类型

xml数据类型,db2对xml的一种内部表示形式。只能作为函数输入

用户自定义类型
区别类型
eg.
create distinct type AUDIO as blb(1m) . 用AUDIOB表示BLOb(1M)这种数据类型

结构类型
1 type a directly uses type b
2.type a directyly uses some type c,and c indrectly uses type b

引用类型 与结构类型结合使用,用于对基本数据类型的公用表示类型的引用。

MySQL数据库(整理与网络详,情可翻看相关手册)
数据类型
1.整型(xxxint)
mysql数据类型 含义
tinyint(m) 1个字节表示(-128~127)
smallint(m) 2个字节表示(-32768~32767)
mediumint(m) 3个字节表示(-8388608~8388607)
int(m) 4个字节表示(-2147483648~2147483647)
bigint(m) 8个字节表示(+-9.22*10的18次方)
分为
SIGNEN: 有符整数,可存储正数和负数,如 TINYINT SIGNED 表示的范围是 -127 ~ 128
UNSIGNED: 无符整数,只能存储正数,但是表示的值是有符整数的两倍, 如 TINYINT UNSIGNED 表示的范围是 0 ~ 255
有符整数和无符整数只有表示的值大小上的区别,存储空间和效率上都是一样的

2.浮点型(float和double)MySQL数据类型 含义
float(m,d) 单精度浮点型,8位精度(4字节),m是十进制数字的总个数,
d是小数点后面的数字个数。
double(m,d) 双精度浮点型,16位精度(8字节)
3.定点数(decimal)
decimal(m,d) 定点类型
浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。参数m是定点类型数字的最大个数(精度),范围为0~65,d小数点右侧数字的个数,范围为0~30,但不得超过m。
对定点数的计算能精确到65位数字。
4.字符串(char,varchar,xxxtext)
char(n) 固定长度的字符串,最多255个字符
varchar(n) 固定长度的字符串,最多65535个字符
tinytext 可变长度字符串,最多255个字符
text 可变长度字符串,最多65535个字符
mediumtext 可变长度字符串,最多2的24次方-1个字符
longtext 可变长度字符串,最多2的32次方-1个字符

5.日期时间类型(date,time,datetime,timestamp)
date 日期‘2008-12-2‘
time 时间‘12:25:36‘
datetime 日期时间‘2008-12-2 22:06:44‘
timestamp 不固定
6.BLOB和TEXT
BLOB和TEXT的唯一区别是BLOB保存二进制类型而且没有字符集好排序规则,而TEXT保存字符文本,且有字符集和排序规则
它们的排序规则按照 max_short_length 规定长度的前若干个字符进行排序
位集数据类型
7.位集
BIT: 最大 64 bit,一般用于保存一个true/false值,如BIT(1),占用 1 bit,远小于使用字符表示
SET: 用于保存多个true/false值,可用于权限管理,效果见下图
8.枚举
ENUM: 类似于SET,但是只能插入1个值,一般可用来表示性别等唯一且范围固定的属性(男,女..)

SQL SERVER 数据库

bit 0或1的整型数字
int 从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字

smallint 从-2^15(-32,768)到2^15(32,767)的整型数字

tinyint 从0到255的整型数字
decimal 从-10^38到10^38-1的定精度与有效位数的数字

numeric decimal的同义词
money 从-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的货币数据,最小货币单位千分之十

smallmoney 从-214,748.3648到214,748.3647的货币数据,最小货币单位千分之十
float 从-1.79E+308到1.79E+308可变精度的数字

real 从-3.04E+38到3.04E+38可变精度的数字
datetime 从1753年1月1日到9999年12日31的日期和时间数据,最小时间单位为百分之三秒或3.33毫秒

smalldatetime 从1900年1月1日到2079年6月6日的日期和时间数据,最小时间单位为分钟
timestam 时间戳,一个数据库宽度的唯一数字

uniqueidentifier 全球唯一标识符GUID

char 定长非Unicode的字符型数据,最大长度为8000

varchar 变长非Unicode的字符型数据,最大长度为8000

text 变长非Unicode的字符型数据,最大长度为2^31-1(2G)
nchar 定长Unicode的字符型数据,最大长度为8000
nvarchar 变长Unicode的字符型数据,最大长度为8000

ntexz 变长Unicode的字符型数据,最大长度为2^31-1(2G)

binary 定长二进制数据,最大长度为8000
varbinary 变长二进制数据,最大长度为8000

image 变长二进制数据,最大长度为2^31-1(2G)

Oracle数据库类型