您好,欢迎访问三七文档
DB2的基本数据类型字段类型描述字段长度及其缺省值Char(size)用于保存定长(size)字节的字符串数据。每行定长(不足部分补为空格);最大长度为254字节,缺省值为每行1字节。Varchar(size)用于保存变长的字符串数据。其中最大字节长度由(size)指定。每行长度可变,最大长度为4000字节。数据长度缺省为1LongVarchar用于保存变长的字符串数据。每行长度可变,最大长度为4321700字节。Graphic(size)双字节字符串。每行定长(不足部分补为空格)。最大长度为127字节。Vargraphic(size)可变长,双字节字符串。每行变长。最大长度为127字节。LongVargraphic双字节字符串。最大长度为16350双字节字符串。Timestamp用于改变管理的二进制值数据,包括年月日时分秒毫秒。字节数为26Date保存定长的日期数据,范围为0000年到9999。每行固定为10字节长度。Time保存定长的时间数据。每行固定为8字节长度。Integer保存整型数据,范围为-2147483648到+2147483647。最大长度为4字节32-1字节或4G。Smallint保存整型数据,范围为-32768到+32767最大长度为2字节32-1字节或4G。Bigint保存整型数据,范围为-9223372036854775808到+9223372036854775807最大长度为2字节64-1字节。Real保存单精度浮点数据类型最大长度为4字节。指数表示。Double保存双精度浮点数据类型,范围为-2.23E-308最大长度为8字节。指数表示。到+2.23E-308。Float保存浮点数据类型,范围为-2.23E-308到+2.23E-308。最大长度为8字节。指数表示。Numeric(p,s)保存精确数值数据类型,范围为-10E-38到+10E-38,p是精度,总小数位数(1~38),s是小数位(小数位小于等于p)最大长度为2~17字节。Decimal(p,s)保存精确数值数据类型,范围为-10E-38到+10E-38,p是精度,总小数位数(1~38),s是小数位(小数位小于等于p)最大长度为2~17字节。Clob保存2GB长度以内的单字节文本数据最大长度为2G。DbClob保存1GB长度以内的双字节文本数据。最大长度为1G字符。Blob保存2GB长度以内的二进制数据。最大长度为2G。支持NotLogged选项和Compact选项我们今天主要向大家讲述的是DB2数据类型,我们大家都知道DB2内置数据类型其一共可以分成数值型(numeric)、字符串型(characterstring)、图形字符串(graphicstring)、二进制字符串型(binarystring)或日期时间型(datetime)。还有一种叫做DATALINK的特殊数据类型。DATALINK值包含了对存储在数据库以外的文件的逻辑引用。数值型DB2数据类型包括SMALLINT、INTEGER、BIGINT、DECIMAL(p,s)、REAL和DOUBLE。所有数值都有符号和精度。精度是指除符号以外的二进制或十进制的位数。如果数字的值大于等于零,就认为符号为正。小整型,SMALLINT:小整型是两个字节的整数,精度为5位。小整型的范围从-32,768到32,767。大整型,INTEGER或INT:大整型是四个字节的整数,精度为10位。大整型的范围从-2,147,483,648到2,147,483,647。巨整型,BIGINT:巨整型是八个字节的整数,精度为19位。巨整型的范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807。小数型,DECIMAL(p,s)、DEC(p,s)、NUMERIC(p,s)或NUM(p,s):小数型的值是一种压缩十进制数,它有一个隐含的小数点。压缩十进制数将以二-十进制编码(binary-codeddecimal,BCD)记数法的变体来存储。小数点的位置取决于数字的精度(p)和小数位(s)。小数位是指数字的小数部分的位数,它不可以是负数,也不能大于精度。最大精度是31位。小数型的范围从-1031+1到1031-1。单精度浮点数(Single-precisionfloating-point),REAL:单精度浮点数是实数的32位近似值。数字可以为零,或者在从-3.402E+38到-1.175E-37或从1.175E-37到3.402E+38的范围内。双精度浮点数(Double-precisionfloating-point),DOUBLE,DOUBLEPRECISION或FLOAT:双精度浮点数是实数的64位近似值。数字可以为零,或者在从-1.79769E+308到-2.225E-307或从2.225E-307到1.79769E+308的范围内。字符串是字节序列。字符串包括CHAR(n)类型的定长字符串和VARCHAR(n)、LONGVARCHAR或CLOB(n)类型的变长字符串。字符串的长度就是序列中的字节数。定长字符串,CHARACTER(n)或CHAR(n):定长字符串的长度介于1到254字节之间。如果没有指定长度,那么就认为是1个字节。变长字符串,VARCHAR(n)、CHARACTERVARYING(n)或CHARVARYING(n):VARCHAR(n)类型的字符串是变长字符串,最长可达32,672字节。LONGVARCHAR:LONGVARCHAR类型的字符串是变长字符串,最长可达32,700字节。字符大对象字符串(CharacterLargeObjectString),CLOB(n[K|M|G]):CLOB是变长字符串,最长可以达到2,147,483,647字节。如果只指定了n,那么n的值就是最大长度。如果指定了nK,那么最大长度就是n1,024(n的最大值为2,097,152)。如果指定了nM,那么最大长度就是n1,048,576(n的最大值为2,048)。如果指定了nG,那么最大长度就是n1,073,741,824(n的最大值是2)。CLOB用于存储基于大单字节字符集(single-bytecharacterset,SBCS)字符的数据或基于混合(多字节字符集(MBCS)和SBCS)字符的数据。图形字符串是表示双字节字符数据的字节序列。图形字符串包括类型为GRAPHIC(n)的定长图形字符串和类型为VARGRAPHIC(n)、LONGVARGRAPHIC和DBCLOB(n)的变长图形字符串。字符串的长度就是序列中双字节字符的数目。定长图形字符串,GRAPHIC(n):定长图形字符串的长度介于1到127个双字节字符之间。如果没有指定长度,就认为是1个双字节字符。变长图形字符串,VARGRAPHIC(n):VARGRAPHIC(n)类型的字符串是变长图形字符串,最大长度可达16,336个双字节字符。LONGVARGRAPHIC:LONGVARGRAPHIC类型的字符串是变长图形字符串,最大长度可达16,350个双字节字符。双字节字符大对象字符串,DBCLOB(n[K|M|G]):双字节字符大对象是变长双字节字符图形字符串,最长可达1,073,741,823个字符。如果只指定了n,那么n就是最大长度。如果指定了nK,那么最大长度就是n1,024(n的最大值为1,048,576)。如果指定了nM,那么最大长度就是n1,048,576(n的最大值为1,024)。如果指定了nG,那么最大长度就是n1,073,741,824(n的最大值是1)。DBCLOB用于存储基于大DBCS(双字节字符集,double-bytecharacterset)字符的数据。二进制字符串是字节序列。二进制字符串包括BLOB(n)类型的变长字符串,它用于容纳非传统型的数据,诸如图片、语音或混合媒体等,还可以容纳用户定义的类型及用户定义的函数的结构化数据。二进制大对象,BLOB(n[K|M|G]):二进制大对象是变长字符串,最长可达2,147,483,647字节。如果只指定了n,那么n就是最大长度。如果指定了nK,那么最大长度就是n1,024(n的最大值为2,097,152)。如果指定了nM,那么最大长度就是n1,048,576(n的最大值为2,048)。如果指定了nG,那么最大长度就是n1,073,741,824(n的最大值是2)。日期时间型DB2数据类型包括DATE、TIME和TIMESTAMP。日期时间值可在某些算术和字符串操作中使用,而且兼容某些字符串,但它们既不是字符串,也不是数字。DATE:DATE是一个由三部分组成的值(年、月和日)。年份部分的范围是从0001到9999。月份部分的范围是从1到12。日部分的范围是从1到n,其中n的值取决于月份。DATE列长10个字节。TIME:TIME是一个由三部分组成的值(小时、分钟和秒)。小时部分的范围是从0到24。分钟和秒部分的范围都是从0到59。如果小时为24,分钟和秒的值都是0。TIME列长8个字节。TIMESTAMP:TIMESTAMP是一个由七部分组成的值(年、月、日、小时、分钟、秒和微秒)。年份部分的范围是从0001到9999。月份部分的范围是从1到12。日部分的范围是从1到n,其中n的值取决于月份。小时部分的范围是从0到24。分钟和秒部分的范围都是从0到59。微秒部分的范围是从000000到999999。如果小时是24,那么分钟值、秒的值和微秒的值都是0。TIMESTAMP列长26个字节。日期时间值的字符串表示:尽管DATE、TIME和TIMESTAMP的值的内部表示对用户是透明的,日期、时间和时间戳记也可以用字符串来表示,CHAR标量函数(请参阅SQL的“词类(partsofspeech)”)可以用于创建日期时间值的字符串表示。日期值的字符串表示是一个以数字开始,长度不少于8个字符的字符串。日期值的月份和日部分中前面的零可以省略。时间值的字符串表示是以数字开头,长度不少于4个字符的字符串。时间值的小时部分前面的零可以省略,秒部分可以完全省略。如果秒的值没有指定,那么就认为是0。时间戳记值的字符串表示是以数字开头,长度不少于16个字符的字符串。完整的时间戳记字符串表示形式为yyyy-mm-dd-hh.mm.ss.nnnnnn。时间戳记值的月、日或小时等几部分前面的零可以省略,微秒可以截断或完全省略。如果任何时间戳记值的微秒部分尾零被省略掉了,那么将假定空缺的数位上是零。自增长字段设计会超过最大值吗?应该不会DB2数据类型,范围精度10位了!在表中存储数据时,不同类型的数据占用的空间和存储的方式都不相同。接下来,我们就简单认识一下DB2中的各种数据类型(DataType)。DB2主要分成两类数据类型:内置的数据类型和用户自定义的数据类型。本节只介绍内置类型,用户自定义类型在3.17.2节介绍。内置数据类型主要包括数值型、文本型、日期时间型和XML四大类。3.11.1数值型数值型具体划分如图3.19所示。图3.19数值型数据的种类SMALLINT称为小整型或短整型,是两个字节的整数,精度为5位,其数据表示范围从-32,768到32,767。INT称为整型,也可以写成INTEGER,是四个字节的整数,精度为10位,其数据表示范围从-2,147,483,648到2,147,483,647。BIGINT称为大整型或长整型,是八个字节的整数,精度为19位,其数据表示范围从9,223,372,036,854,775,808到9,223,372,036,854,775,807。REAL称为单精度浮点数,是实数的32位近似值。数字可以为零,或者在从-3.402E+38到-1.175E-37或从1.175E-37到3.402E+38的范围内。DOUBLE称为双精度浮点数,是实数的64位近似值。数字可以为零,或者在从-1.79769E+308到-2.225E-307或从2.225E-307到1.79769E+308的
本文标题:Db2基本数据类型
链接地址:https://www.777doc.com/doc-2909492 .html