-
预定义数据类型
包括:数字、 字符串、日期和时间、XML等类型。
- 精确数字包括:
类型 字节 范围 int 4 ±21亿多 bigint 8 ±9223372036854775808 smallint 2 ±32768 tinyint 1 0-255 decimal 所需空间 如decimal(15,3) 表示整数 12位 小数3位 - money 4小数的decimal 共8位 - smallmoney 4字节 - - 近似数字:
类型 精度/字节 float 可精确到15位小数 8字节 real 可精确到7位小数 4字节
oracle中适用mumber代替所有类型
- 字符串类型:
类型 | 说明 |
---|---|
char | char(n) n=1-8000个ANSI字符 默认为1; 如果输入小于指定值,用空格补齐 |
nchar | nchar(n) n=1-4000个Unicode |
varchar | varchar(n) n=1-8000, 少于的话自动缩小空间 |
nvarchar | nvarchar(n) n=1-4000 unicode |
Text | 大量文本数据,理论容量21亿多字节,根据具体需要确定容量 |
ntext | unicode |
- 二进制字符串
存储字节序列,存储图片,视频,可执行程序等
类型 | 说明 |
---|---|
binary | binary(n) n=1-8000 ,输入数据时,必须以0x开头,如输入good应输入'0xgood'. |
varbinary | 数据长度可变。 |
image | 大量二进制数据,容量2^31-1个字符,输入时候,也必须输入0x开头 |
- 日期和时间
类型 | 说明 |
---|---|
datatime | 存储日期和时间 8字节存储1753.1.1 0:00:00-9999.12.31 23:59:59 |
smalldata | 4字节 1900.1.1 0:00:00--2079.6.6 23:59:00 一般输入形式为 2003-5-2 2003/05/02等 时间 hh:mm:ss.ms |
XML数据
可解析XML数据自定义数据
包括表类型和别名类型
表类型:用于存储对表或视图处理后的结果集如:
use db_mysql
create type addr_type as table
(
street varchar(30),
city varchar(30),
country varchar(30)
)
运行后可在数据库中创建一个表类型名称为 addr_type。
使用:
use db_mysql
create table my_table
(
id int,
sname varchar(30),
saddress addr_type
)
别名使用内置数据创建数据类型 如:
create type my_type as decimal(12,2) not null
- 其他类型数据
类型 | 说明 |
---|---|
boolean | 1byte 0/1 |
SQL_VARIANT | 可以存储数字,字符串,日期 二进制不能存储max类型 |
rowid | 特殊Oracle类型,用于存储数据库中每一行的唯一地址。 |
urowid | 与rowid类似,用于索引表 |
bfile | 特殊Oracle类型,访问在Oracle外部的二进制文件。 |