DB2数据库的内置数据类型主要分成数值型(numeric)、字符串型(character string)、图形字符串(graphic string)、二进制字符串型(binary string)或日期时间型(datetime)。还有一种叫做 DATALINK 的特殊数据类型。DATALINK 值包含了对存储在数据库以外的文件的逻辑引用。
数值型数据类型包括 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-coded decimal,BCD)记数法的变体来存储。小数点的位置取决于数字的精度(p)和小数位(s)。小数位是指数字的小数部分的位数,它不可以是负数,也不能大于精度。最大精度是 31 位。小数型的范围从 -10**31+1 到 10**31-1。
*单精度浮点数(Single-precision floating-point),REAL:单精度浮点数是实数的 32 位近似值。数字可以为零,或者在从 -3.402E+38 到 -1.175E-37 或从 1.175E-37 到 3.402E+38 的范围内。
*双精度浮点数(Double-precision floating-point),DOUBLE,DOUBLE PRECISION 或 FLOAT:双精度浮点数是实数的 64 位近似值。数字可以为零,或者在从 -1.79769E+308 到 -2.225E-307 或从 2.225E-307 到 1.79769E+308 的范围内。
字符串是字节序列。字符串包括 CHAR(n) 类型的定长字符串和 VARCHAR(n)、LONG VARCHAR 或 CLOB(n) 类型的变长字符串。字符串的长度就是序列中的字节数。
*定长字符串,CHARACTER(n) 或 CHAR(n):定长字符串的长度介于 1 到 254 字节之间。如果没有指定长度,那么就认为是 1 个字节。
*变长字符串,VARCHAR(n)、CHARACTER VARYING(n) 或 CHAR VARYING(n):VARCHAR(n) 类型的字符串是变长字符串,最长可达 32,672 字节。
*LONG VARCHAR:LONG VARCHAR 类型的字符串是变长字符串,最长可达 32,700 字节。
*字符大对象字符串(Character Large Object String),CLOB(n[K M G]):CLOB 是变长字符串,最长可以达到 2,147,483,647 字节。如果只指定了 n,那么 n 的值就是最大长度。如果指定了 nK,那么最大长度就是 n*1,024(n 的最大值为 2,097,152)。如果指定了 nM,那么最大长度就是 n*1,048,576(n 的最大值为 2,048)。如果指定了 nG,那么最大长度就是 n*1,073,741,824(n 的最大值是 2)。CLOB 用于存储基于大单字节字符集(single-byte character set,SBCS)字符的数据或基于混合(多字节字符集(MBCS)和 SBCS)字符的数据。图形字符串是表示双字节字符数据的字节序列。图形字符串包括类型为 GRAPHIC(n) 的定长图形字符串和类型为 VARGRAPHIC(n)、LONG VARGRAPHIC 和 DBCLOB(n) 的变长图形字符串。字符串的长度就是序列中双字节字符的数目。
*定长图形字符串,GRAPHIC(n):定长图形字符串的长度介于 1 到 127 个双字节字符之间。如果没有指定长度,就认为是 1 个双字节字符。
*变长图形字符串,VARGRAPHIC(n):VARGRAPHIC(n) 类型的字符串是变长图形字符串,最大长度可达 16,336 个双字节字符。
*LONG VARGRAPHIC:LONG VARGRAPHIC 类型的字符串是变长图形字符串,最大长度可达 16,350 个双字节字符。
*双字节字符大对象字符串,DBCLOB(n[K M G]):双字节字符大对象是变长双字节字符图形字符串,最长可达 1,073,741,823 个字符。如果只指定了 n,那么 n 就是最大长度。如果指定了 nK,那么最大长度就是 n*1,024(n 的最大值为 1,048,576)。如果指定了 nM,那么最大长度就是 n*1,048,576(n 的最大值为 1,024)。如果指定了 nG,那么最大长度就是 n*1,073,741,824(n 的最大值是 1)。DBCLOB 用于存储基于大 DBCS(双字节字符集,double-byte character set)字符的数据。二进制字符串是字节序列。二进制字符串包括 BLOB(n) 类型的变长字符串,它用于容纳非传统型的数据,诸如图片、语音或混合媒体等,还可以容纳用户定义的类型及用户定义的函数的结构化数据。
* 二进制大对象,BLOB(n[K M G]):二进制大对象是变长字符串,最长可达 2,147,483,647 字节。如果只指定了 n,那么 n 就是最大长度。如果指定了 nK,那么最大长度就是 n*1,024(n 的最大值为 2,097,152)。如果指定了 nM,那么最大长度就是 n*1,048,576(n 的最大值为 2,048)。如果指定了 nG,那么最大长度就是 n*1,073,741,824(n 的最大值是 2)。
日期时间型数据类型包括 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 的“词类(parts of speech)”)可以用于创建日期时间值的字符串表示。
*日期值的字符串表示是一个以数字开始,长度不少于 8 个字符的字符串。日期值的月份和日部分中前面的零可以省略。
*时间值的字符串表示是以数字开头,长度不少于 4 个字符的字符串。时间值的小时部分前面的零可以省略,秒部分可以完全省略。如果秒的值没有指定,那么就认为是 0。
*时间戳记值的字符串表示是以数字开头,长度不少于 16 个字符的字符串。完整的时间戳记字符串表示形式为 yyyy-mm-dd-hh.mm.ss.nnnnnn。时间戳记值的月、日或小时等几部分前面的零可以省略,微秒可以截断或完全省略。如果任何时间戳记值的微秒部分尾零被省略掉了,那么将假定空缺的数位上为零。
分享到:
相关推荐
DB2数据库是一个强大的关系型数据库管理系统,其内部支持多种数据类型,这些数据类型的设计使得DB2能够处理各种复杂的数据结构和类型。以下是DB2数据库中主要数据类型的详细说明: 1. **数值型数据类型**: - **...
DB2是IBM公司开发的一款关系型数据库管理系统,广泛应用于企业级数据存储和管理。本压缩包包含DB2数据库的安装包以及链接服务器驱动,对于理解DB2数据库的安装过程和使用至关重要。 首先,我们来详细了解DB2数据库...
【知识点详解】 ...总之,将DB2中的BLOB数据复制到Oracle涉及多个步骤,包括利用WII的联邦功能、添加标志字段以及定制更新策略。通过这些策略,可以有效地克服非直接支持LOB的数据库之间的数据迁移问题。
缓冲池是Db2数据库中用于存储数据的重要组件。创建缓冲池可以使用create bufferpool命令,例如: create bufferpool ibmdefault8k IMMEDIATE SIZE 5000 PAGESIZE 8 K; 其中,ibmdefault8k是缓冲池的名称,...
数据库目录中存储了数据库的所有信息,包括数据库的名称、别名、数据库类型和数据库的位置信息等。 日志目录是 DB2 数据库的日志存储目录,用于存储数据库的日志文件。日志文件是数据库恢复策略中的决定性因素,...
7. **插件扩展**:SQuirreL支持安装插件,可以扩展其功能,例如支持更多的数据库类型或提供额外的可视化工具。 对于DB2数据库来说,SQuirreL是一个非常实用的工具,尤其是考虑到DB2自带的管理工具相对较少。通过这...
在DB2中,数据类型是数据库设计的重要组成部分,它定义了数据的结构和格式,确保数据的准确性和一致性。本篇文章将深入探讨DB2数据库中的各种数据类型。 1. 数值类型: - `INTEGER`:整数类型,存储-2^31到2^31-1...
在IT行业中,数据库管理系统是核心组成部分之一,而IBM的DB2是企业级广泛使用的数据库解决方案。本文将深入探讨如何通过命令行界面登录到DB2数据库,这对于系统管理员和开发人员来说是一项基本技能。 首先,我们...
DB2 数据库安装步骤是指将 DB2 数据库软件安装到计算机上,并创建一个新的数据库实例,以便存储和管理数据。下面是 DB2 数据库安装和创建步骤的详细过程: 一、安装 DB2 数据库软件 1. 点击安装文件,出现安装界面...
在本手册中,我们将介绍如何在DB2数据库中进行SQL注入攻击的检测和防止。同时,我们还将提供一些实用的SQL语句,用于检测和防止SQL注入攻击。 检测SQL注入 在DB2数据库中,可以使用以下方法来检测SQL注入: 1. ...
DB2数据库安装教程详细描述了DB2数据库在Linux环境中的安装。以下是安装过程中涉及到的知识点: 1. 用户和用户组的创建:在安装DB2之前,需要创建相应的用户和用户组,例如db2iadm1、db2fadm1和dasadm1等。这些用户...
DB2数据库性能调整和优化(第2版)侧重于介绍DB2数据库的性能调优。性能调优是一个系统工程:全面监控分析操作系统、I/O性能、内存、应用及数据库才能快速找到问题根源;深刻理解DB2的锁及并发机制、索引原理、数据库...
由于 DB2 没有直接的数据库导出功能,因此需要导出表结构、表数据,然后在导入。 一、导出表结构 在 DB2 命令行工具中,使用 Db2look 命令来导出表结构。Db2look 命令的基本语法如下: Db2look -d dbname -e -a -...
Excel读取数据导入DB2数据库需要使用POI库读取Excel文件,并使用JDBC API连接DB2数据库,并执行SQL语句将Excel数据导入到数据库中。同时,我们还需要考虑实现一个通用转换类,以便于提高代码的灵活性和可维护性。
DB2数据库是DB2数据库系统的基本组件,负责存储和管理数据。DB2数据库命令包括: * db2ckbkp:检查备份 * db2ckmig:数据库预迁移工具 * db2ckrst:检查增量复原映像序列 * db2diag:db2diag.log分析工具 * db2...
在Java编程环境中,为了能够与DB2数据库进行交互,如执行SQL查询、更新数据或管理数据库对象,需要引入特定的驱动程序。在这个案例中,我们有两个主要的JAR文件:db2jcc4.jar和db2jcc.jar。 1. **db2jcc4.jar** - ...
首先,"DB2新建数据库并将物理备份复原到新数据库(一).doc"和"DB2新建数据库并将物理备份复原到新数据库(二).doc"这两份文档详细阐述了如何创建新的DB2数据库以及如何将已有的物理备份恢复到这个新数据库中。...
DB2数据库连接驱动jar包是用于Java应用程序与IBM的DB2关系型数据库系统进行通信的重要组件。这些jar包提供了JDBC(Java Database Connectivity)驱动程序,使得Java开发者可以通过编写Java代码来执行SQL语句,从而...
以上是DB2数据库中基本命令的详细解析,涵盖了数据查询、修改、导入导出、元数据管理以及表结构调整等方面的核心功能。这些命令是DBA和开发人员日常工作中频繁使用的工具,对于高效管理和操作DB2数据库至关重要。
在DB2中,通过创建表来定义数据结构,包括字段名、数据类型等属性。 #### 3. 视图(Views) 视图是一种虚拟表,基于一个或多个表的结果集。它提供了一种安全机制,允许用户只看到他们有权访问的数据部分。 #### 4...