db2 数据类型

时间:2022-10-07 14:00:14

一、概述

DB2内置了INTEGER、CHAR和DATE等基本数据类型
同时还提供创建用户自定义的数据类型(UDT)的工具,使用户能够创建复杂的非传统的数据类型,从而适应当今复杂的编程环境
内置的数据类型分为4类
-数字、字符串、日期时间和XML
用户定义的数据类型分为:
-单值类型、结构化类型和引用类型

二、数据类型

1、整数

整数:SMALLINT、INTEGER和BIGINT用来存储整数
SMALLINT可以在2个字节中存储从-32768到32767的整数
INTEGER可以在4个字节中存储从-2147483648到2147483647的整数
BIGINT可以在8个字节中存储从-9223372036854775808到9223372036854775807的整数

2、小数

小数:DECIMAL用来存储有小数部分的数字
要定义这个数据类型,需要指定精度(p,表示总的位数)和小数位(s,表示小数点右边的位数)
-示例:定义为DECIMAL(10,2)的列可以保存的金额最高位99999999.99
-数据库中需要的存储空间依赖于精度,按照公式p/2+1计算,所以DECIMAL(10,2)需要6字节

3、浮点数

浮点数:REAL和DOUBLE用来存储数字的近似值,适用于科学计量值
REAL保存单精度浮点数据类型,最大长度为4字节。指数表示
DOUBLE保存双精度浮点数据类型,需要8字节的存储空间
FLOAT可以视为REAL或DOUBLE的同义词

4、单字节字符串

CHAR或CHARACTER
-CHAR或CHARACTER用于保存固定长度(size)字节的字符串数据
-最大长度为254字节
-例如:人的性别,车牌号,身份证等
VARCHAR
-VARCHAR用来存储可变长度的字符串
-VARCHAR列的最大长度为32672字节
-在数据库中,VARCHAR数据只占用恰到好处的空间

5、双字节字符串

GRAPHIC用来存储固定长度的双字节字符串,GRAPHIC列的最大长度是127的字符
VARGRAPHIC用来存储可变长度的双字节字符串,VARGRAPHIC列的最大长度是16336个字符

6、长数据类型

LONG VARCHAR
-LONG VARCHAR允许的数据最大长度为32700字节
-有单独的存储区域,不需要使用bufferpool
LONG VARGRAPHIC
CLOB(字符大对象)
-保存一本书的内容,将其作为表的一列
DBCLOB(双字节字符大对象)
BLOB(二进制大对象)
-保存二进制文件(图片)将其为做表的一列

7、日期时间数据类型

DB2提供了三种存储日期和时间的数据类型
--DATE
--TIME
--TIMESTAMP

8、XML数据类型

DB2提供了XML数据类型来存储格式良好的XML文档
XML列中的值存储为与字符串数据类型不同的内部表示
要在XML数据类型的列中存储XML数据,需要使用XMLPARSE函数对数据进行转换

9、用户定义的数据类型

DB2允许用户定义适合自己应用程序的数据类型
有三种用户定义的数据类型
-用户定义的单值类型
-用户定义的结构化类型
-用户定义的引用类型