oracle与db2的数据类型比较

来源:互联网 发布:dame it 编辑:程序博客网 时间:2024/06/01 18:53

Oracle中的数据类型有:字符型、数字型、日期型等。具体介绍如下:
1、字符型:char(n):用于标识固定长度的字符串。
  当实际数据不足定义长度时,使用空格补全右边不足位。varchar(n):可变字符串类型。
  为SQL标准规定的,数据库必须实现的数据据类型。可以存储空字符串。

  varchar2(n):可变字符串类型,是oracle在varchar的基础上自行定义的可变长度字符串
       类型。当做为列类型使用时,最大长度可被定义为4000;当做为变量类型使用时,长度
       可被定义为32767。不可以存储空字符串。
2、数值型:可用于存储整数、浮点数。
  number(m,n):m表示有效数字的总位数(最大为38位),n表示小 数位数。
3、日期时间型:
  date:包含Year(年)、Month(月) 、Day(天)、Hour(时)、Minutes(分)、Second(秒)
  说明:(yyyy表示4位年分;mm表示月份;dd表示天;hh表示时;mi表示分;ss表示秒)
4、大对象类型:lob:用于存储大对象类型。例如:文本信息长度超过4000、二进制文件等。最大容量为4GB。
  lob分类:clob:用于存储大型文本数据。(例如:备注信息)
  blob:用于存储二进制数据。(例如:图片文件)
  bfile:作为独立文件存在的二进制数据。
5、特殊数据:
  null与空字符串:null与空字符串,都要用is null或is not null进行比较。
       单引号:想将单引号做为字符中使用,请通过单引号进行转义。
6、注意:oracle中,没有布尔类型,可利用字符串或数值(1/0)表示


DB2的常用数据类型包括以下几个:

一.数字型的。

1. SMALLINT          ---短整型,范围为-32768~+32767,一遍用的较少

2. INT/INTEGER    ---整型,4个字节,范围为-2147483648~+2147483647,一遍多用于做自动生成的序列,或者用作表记录的id使用。

3. BIGINT               ----大整型,8个字节,精度为19位,够大了,一般较少使用。

4. DECIMAL(P,S)  ---小数型,其中P为精度,S为小数位数,隐含小数点(小数点不计入位数)。比如M DECIMAL(5,2),那么就是指定M的精度为5位(除小数点外所有数字的位数不能超过5),否则插入时会发生数据位溢出;而小数的位数不能超过2,否则插入时会截断小数位。

比如:

M: 123.45(成功) 

M:12.345(成功,但是截断为12.34) 

M:1234.5(失败,整数位超标,溢出报错)

5. REAL                 ---单精度浮点型,不常用

6. DOUBLE          ----双精度浮点型,不常用

 

二.字符型

char(n)                    ----定长字符串,长度范围1~254,常用

varchar(n)              ----变长字符串,长度范围1~32672,常用

CLOB                     -----字符大对象字符串,很大,没用过,要用再研究。

 

三.时间型

date                        ----占4个字节   插入格式为 'YYYY-MM-DD'

time                        ----占3个字节   插入格式为 'HH:MM:SS'

timestamp            ----占10个字节 插入格式为 'YYYY-MM-DD HH:MM:SS'

当然,这都是采用内部格式压缩过的。

四.空值

空值使用NULL表示,NULL可以表示任何数据类型的空值,但是NULL不能参加任何算数运算和逻辑运算,如果勉强运算得到的也是NULL。

原创粉丝点击