`

(转)DB2 数据类型

    博客分类:
  • DB2
阅读更多

DB2 数据类型
2009/07/09 下午 03:23
1、概述 
         
         DB2 提供了一套丰富且灵活的数据类型。DB2 附带 INTEGER、CHAR 和 DATE 等基本数据类型。它还提供了创建用户定义的数据类型(UDT)的工具,使用户能够创建复杂的非传统的数据类型,从而适应当今复杂的编程环境。 
         
         内置的数据类型分为四类:数字、字符串、日期时间和 XML。 
         
         用户定义的数据类型分为:单值类型、结构化类型和引用类型。 
         
         2、数字数据类型 
         
         ● 整数:SMALLINT、INTEGER 和 BIGINT 用来存储整数。例如,库存数量可以定义为 INTEGER。SMALLINT 可以在 2 个字节中存储从 -32,768 到 32,767 的整数。INTEGER 可以在 4 个字节中存储从 -2,147,483,648 到 2,147,483,647 的整数。BIGINT 可以在 8 个字节中存储从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的整数。 
         
         ● 小数:DECIMAL 用来存储有小数部分的数字。要定义这个数据类型,需要指定精度 (p,表示总的位数)和小数位 (s,表示小数点右边的位数)。定义为 DECIMAL(10,2) 的列可以保存的金额最高可为 99999999.99。数据库中需要的存储空间依赖于精度,按照公式 p/2 +1 计算。所以 DECIMAL(10,2) 需要 10/2 + 1 (即 6)字节。 
         
         ● 浮点数:REAL 和 DOUBLE 用来存储数字的近似值。例如,非常小或非常大的科学计量值可以定义为 REAL。REAL 可以定义为具有 1 到 24 位之间的长度,需要 4 字节的存储空间。DOUBLE 可以定义为具有 25 到 53 位之间的长度,需要 8 字节的存储空间。FLOAT 可以视为 REAL 或 DOUBLE 的同义词。 
         
         3、字符串数据类型 
         
         下面的数据类型用来存储单字节字符串: 
         
         ● CHAR 或 CHARACTER 用来存储最多 254 字节的固定长度的字符串。例如,制造商可以给零件分配一个 8 字符长度的标识符,因此这些标识符在数据库中存储为 CHAR(8) 类型的列。 
         
         ● VARCHAR 用来存储可变长度的字符串。例如,制造商用不同长度的标识符表示大量零件,因此这些标识符存储为 VARCHAR(100) 类型的列。VARCHAR 列的最大长度为 32,672 字节。在数据库中,VARCHAR 数据只占用恰好所需的空间。 
         
         下面的数据类型用来存储双字节字符串: 
         
         ● GRAPHIC 用来存储固定长度的双字节字符串。GRAPHIC 列的最大长度是 127 个字符。 
         
         ● VARGRAPHIC 用来存储可变长度的双字节字符串。VARGRAPHIC 列的最大长度是 16,336 个字符。 
         
         DB2 还提供了存储非常长的字符串数据的数据类型。所有长字符串数据类型都具有相似的特征。首先,在数据库中此数据在物理上并没有与行数据存储在一起,这意味着需要进行额外处理才能访问此数据。长数据类型的长度最大可以定义为 2GB。但是,需要的空间只是实际使用的空间。 
         
         长数据类型有: 
         
         ● LONG VARCHAR 
         
         ● CLOB(字符大对象) 
         
         ● LONG VARGRAPHIC 
         
         ● DBCLOB(双字节字符大对象) 
         
         ● BLOB(二进制大对象) 
             BLOB(integer) 表示具有指定最大长度(以字节计)的二进制大对象字符串。 
         
         4、日期时间数据类型 
         
         DB2 提供了三种存储日期和时间的数据类型: 
         
         ● DATE   占4个字节
         
         ● TIME   占4个字节
         
         ● TIMESTAMP 占12个字节
         
         注意!这些数据类型的值在数据库中存储为一种内部格式;但是应用程序可以将其作为字符串操纵。在检索这些数据类型之一时,它被表示为字符串。在更新这些数据类型时,将值包围在引号中。 
         
         DB2 提供了操纵日期时间值的内置函数。例如,可以使用 DAYOFWEEK 或 DAYNAME 函数判断一个日期值是星期几。使用 DAYS 函数计算两个日期之间相差多少天。DB2 还提供了特殊寄存器以根据时间-日期时钟生成当前日期、时间或时间戳。例如,CURRENT DATE 返回一个表示系统上的当前日期的字符串。 
         
         日期和时间值的格式取决于在创建数据库时指定的数据库国家编码。有几种可用的格式:ISO、USA、EUR 和 JIS。例如,如果数据库使用 USA 格式,那么日期值的格式是 mm/dd/yyyy。在创建应用程序时,可以使用 BIND 命令的 DATETIME 选项改变格式。 
         
         TIMESTAMP 数据类型只有一种格式。字符串表示是 yyyy-mm-dd-hh.mm.ss.nnnnnn。 
         
         5、XML 数据类型 
         
         DB2 提供了 XML 数据类型来存储格式良好的 XML 文档。 
         
         XML 列中的值存储为与字符串数据类型不同的内部表示。要在 XML 数据类型的列中存储 XML 数据,需要使用 XMLPARSE 函数对数据进行转换。可以使用 XMLSERIALIZE 函数将 XML 数据类型的值转换为 XML 文档的串行化字符串值。DB2 还提供了许多其他的内置函数来操纵 XML 数据类型。 
         
         6、用户定义的数据类型 
         
         DB2 允许用户定义适合自己应用程序的数据类型。有三种用户定义的数据类型: 
         
         ● 用户定义的单值类型:基于内置类型定义新的数据类型。这个新类型具有该内置类型相同的功能,但可以使用它确保只比较相同类型的值。 
         
         [示例]-[用户自定义类型]: 
         
         --创建 RMB (人民币)自定义类型 
         CREATE DISTINCT TYPE RMB AS DECIMAL(10,2) WITH COMPARISONS 
         
         --使用该类型 
         CREATE TABLE Sales (ID INT NOT NULL,Name VARCHAR(20),SaleMoney RMB) 
         
         --插入数据 
         INSERT INTO Sales(ID,Name,SaleMoney) 
           VALUES(007,'彭建军',RMB(1234.56)) 
         
         ● 用户定义的结构化类型:创建由几个内置类型列组成的类型。然后,可以在创建表时使用这个结构化类型。例如,可以创建一种名为ADDRESS 的结构化类型,它包含表示街道号码、街道名、城市之类的数据。然后在定义其他表(如职工表或者供应商表)时使用这种类型,因为这些表也需要同样的数据。 
         
         ● 用户定义的引用类型:在使用结构化类型时,可以使用引用类型定义对另一个表中行的引用。这些引用看起来与参照约束相似,然而,它们不强制表间有关系。表中的引用允许用不同的方法指定查询。 
         
         7、DB2 扩展器 
         
         DB2 扩展器支持复杂的、非传统的数据类型。它们与 DB2 服务器代码分开打包,必须安装在服务器上,并必须安装在使用那些数据类型的每个数据库中。 
         
         IBM 和独立软件供应商提供许多 DB2 扩展器。IBM 最早提供的四个扩展器用于存储音频、视频、图像和文本数据。例如,DB2 Image Extender 可用于存储一本书的封面图像,而 DB2 Text Extender 可用于存储书的正文。现在,还有其他几个扩展器可用。DB2 Spatial Extender 可以用来存储和分析空间数据,XML Extender 用来管理 XML 数据。 
         
         DB2 扩展器是用用户定义类型和用户定义函数(UDF)的特性实现的。每个扩展器提供一个或多个 UDT、用于操作 UDT 的 UDF 和特定的应用程序编程接口(API),或许还提供其他工具。

分享到:
评论

相关推荐

    Oracle与DB2数据类型分类对应说明

    Oracle 与 DB2 数据类型分类对应说明 Oracle 和 DB2 是两个广泛应用的关系数据库管理系统,它们都具有丰富的数据类型,用于存储和管理各种类型的数据。然而,在实际应用中,我们经常需要在 Oracle 和 DB2 之间进行...

    db2数据类型详解

    ### DB2 数据类型详解 #### 一、概述 DB2 是 IBM 开发的一款关系型数据库管理系统,被广泛应用于企业级环境中。为了满足不同场景下的需求,DB2 提供了多种内置的数据类型,主要包括数值型、字符串型、图形字符串型...

    Oracle与DB2数据类型的分类对应说明

    Oracle 与 DB2 数据类型的分类对应说明 在数据类型方面,Oracle 和 DB2 都提供了多种数据类型以满足不同的应用需求。然而,这两种数据库管理系统之间的数据类型并不完全相同,本文将对 Oracle 和 DB2 数据类型进行...

    DB2数据库数据类型

    DB2 数据类型详解 DB2 数据库提供了多种数据类型,包括数值型、字符串型、图形字符串型、日期时间型和特殊的 DATALINK 类型。这些数据类型可以满足不同的应用场景和业务需求。 数值型数据类型 数值型数据类型包括...

    Oracle与DB2数据类型的对应说明书

    Oracle与DB2数据类型的对应说明书 在软件开发和数据库管理中,了解不同的数据库管理系统之间的数据类型对应关系至关重要。作为dba和软件开发人员,了解Oracle和DB2之间的数据类型对应关系是必备的知识。本文将详细...

    DB2数据库中的各数据类型

    DB2数据库是一个强大的关系型数据库管理系统,其内部支持多种数据类型,这些数据类型的设计使得DB2能够处理各种复杂的数据结构和类型。以下是DB2数据库中主要数据类型的详细说明: 1. **数值型数据类型**: - **...

    db2_数据类型_详细解析

    ### DB2数据库数据类型详解 #### 引言 在DB2数据库系统中,数据类型扮演着至关重要的角色,它们定义了如何存储、处理以及检索数据。深入理解DB2中的各种数据类型,对于优化数据库设计、提升查询性能以及确保数据...

    Db2基本数据类型

    Db2 基本数据类型 Db2 是一种关系数据库管理系统,它提供了多种基本数据类型,用于存储和处理不同的数据形式。这些基本数据类型可以分为字符串类型、数字类型、日期时间类型和二进制类型等。 字符串类型 Db2 提供...

    db2数据类型介绍(比较全面)

    ### DB2 数据类型详解 #### 一、概述 DB2 是 IBM 开发的一款关系型数据库管理系统,被广泛应用于企业级应用环境中。为了更好地理解和使用 DB2 数据库,本篇文章将详细介绍 DB2 中的各种数据类型及其特点。DB2 的...

    db2 修改表数据类型

    ### DB2修改表数据类型详解 在DB2数据库系统中,有时我们需要更改现有表中列的数据类型以适应新的业务需求或提高数据处理效率。本文将详细介绍如何在DB2中修改表的数据类型,并通过一个具体的例子来说明整个过程。 ...

    Oracle和DB2的数据类型比较

    ### Oracle和DB2的数据类型比较 #### 一、概述 本文旨在对比Oracle和DB2/400数据库管理系统中的数据类型,并重点分析日期和时间类型的差异。由于Oracle和DB2/400在数据类型的定义和实现上存在差异,因此在进行...

    db2数据类型

    db2数据类型,详解,java,db2,数据类型

    DB2到GreenPlum/PostgreSQL的转换指南

    此外,还需要注意的是,DB2有一些内置的函数和操作用于处理特殊数据类型,而在GreenPlum/PostgreSQL中可能没有直接等价的功能,这可能需要编写自定义函数来实现。 ###### 2.2.3 表约束 表约束在DB2与GreenPlum/...

    Oracle 表定义到 DB2 数据类型

    本主题将详细探讨如何将Oracle数据库中的表定义映射到DB2数据库的数据类型。Oracle和DB2作为两种广泛使用的数据库管理系统,它们各自拥有独特的数据类型体系。理解这些映射关系有助于确保数据的一致性和兼容性。 1....

    如何将DB2数据库中的大对象(BLOB,CLOB)数据类型复制到Oracle数据库中

    本例中,我们讨论如何将DB2数据库中的BLOB数据类型复制到Oracle数据库。 1. **BLOB与CLOB数据类型**: BLOB(Binary Large Object)存储二进制大对象,如图像、音频或视频文件。CLOB(Character Large Object)...

    db2数据类型,word文档

    DB2 数据库管理系统支持多种数据类型,用于存储各种不同类型的数据,包括数值、字符串、图形、二进制以及日期和时间。这些数据类型的精确定义和使用是数据库设计的基础,确保了数据的有效存储和处理。 首先,我们来...

    Oracle与DB2数据类型的分类对应说明分享.pdf

    本篇文章主要探讨了 Oracle 数据类型与 DB2/400 数据类型的分类对应关系,帮助用户在进行数据迁移、集成或跨平台开发时更好地理解和处理数据类型转换。 1. **日期和时间类型**: - Oracle 的 `DATE` 类型包含年、...

    COBOL_DB2_数据类型对应关系

    ### COBOL与DB2数据类型对应关系详解 #### 一、引言 在使用COBOL编程语言进行开发时,经常会遇到需要与DB2数据库交互的情况。为了确保数据能够准确无误地从数据库传递到程序中,或者从程序传递到数据库中,必须...

    DB2数据结构及数据导出导入

    在本文档中,我们将探讨DB2数据结构以及如何在DB2 V9.7版本中进行数据的导出和导入。 首先,了解DB2的数据结构至关重要。数据结构主要由表、视图、索引、存储过程、触发器、序列(Sequences)等组成。表是数据存储...

    全面了解DB2数据库中的各数据类型

    在DB2中,数据类型是数据库设计的重要组成部分,它定义了数据的结构和格式,确保数据的准确性和一致性。本篇文章将深入探讨DB2数据库中的各种数据类型。 1. 数值类型: - `INTEGER`:整数类型,存储-2^31到2^31-1...

Global site tag (gtag.js) - Google Analytics