INFORMIX支持的数据类型
数值型
整型 SMALLINT,INTEGER
浮点型 FLOAT,SMALLFLOAT ,DECIMAL(p,s)
字符型 CHAR(n),VARCHAR( m, r)
时间/日期型 DATE,DATETIME,INTERVAL
序列型 SERIAL
货币型 MONEY
多媒体型 TEXT , BYTE
整型
INTEGER
INTEGER类型存放整数,范围是(-2147483647,2147483647)
存储空间:4个字节
同义 名:INT
SMALLINT
SMALLINT类型存放整数,范围是 (-32767, 32767)
存储空间:2 个字节
浮点型
FLOAT(n)
FLOAT(n)类型存放双精度浮点数,最多有效位数为16
FLOAT(n)类型与C语言DOUBLE类型等价
存储空间:8 个字节
同义名:DOUBLE PRECISION
SMALLFLOAT
SMALLFLOAT类型存放单精度浮点数,最多有效位数 8
SMALLFLOAT类型与C语言FLOAT 类型等价
存储空间:4 个字节
同义名:REAL
DECIMAL(p, s)
内部十进制浮点型,与机器无关,最多有效位数为32。
表示数的范围: 10**(-128) ---- 10**(127)
p 说明精度, s 说明小数个数
如省略p,则等价于DECIMAL(16)
存储空间:p/2+1 个字节
同义名:NUMERIC, DEC
字符型
CHAR(n)
CHAR字符型存放字符或字符串(定长)
n说明字符的个数,缺省为1 范围:1 <=n<=32767
存储空间:n 个字符 同义名:CHARACTER
VARCHAR(m, r )
VARCHAR类型用于存放可变长字符串
m说明最多可存放的字符数, m<=255, 如该字段建有索引,则m<=254
r说明最少应保留的空间(字节数),省略时为零
存储空间:实际字符串长度,最多不超过m个字节,最少r个字节
日期型
DATE
DATE类型表示日期
DATE类型内部用整数类型(INTEGER〕表示, 存储从
1900年1月1日0 点到某个日期的天数
输出格式:mm/dd/yy (月/日/年) 与环境变量DBDATE有关
存储空间:4 个字节
DATETIME
DATETIME类型存放日期和时间至某一时刻
表示范围可以从年直到秒以下
DATETIME的精度修饰符
YEAR MONTH DAY --年月日
HOUR MINUTE SECOND --时分秒
FRACTION --小数部分, 秒以下
输出格式: yyyy-mm-dd hh:mm:ss.ff (年-月-日 时 分秒 ..)
例: 1998-08-24 14:13:56.324
说明一个列为DATETIME 类型
格式: 列名 DATETIME 最大修饰符 TO 最小修饰符
例: c1 DATETIME YEAR TO DAY
c2 DATETIME MONTH TO MONTH
c3 DATETIME YEAR TO FRACTION(3)
存储空间
各域输出所需的数字个数
YEAR :4 个数字
FRACTION: 5个数字
其它域: 2个数字
存储空间: 所有域的数字之和/ 2 +1 个字节
例: YEAR TO DAY 的DATETIME 类型需
(4+2+2)/2+1=5 个字节
interval类型表示时间跨度的值
序列型
SERIAL类型为序列型,其值 可由DBMS 在插入新记录时自动生成, 如果其值全部由
DBMS生成,则可保证不重复
一个表最多只能有一列为SERIAL 类型。
SERIAL类型内部为整数型,最大值为 2147483647(2G-1) n 说明初始值,缺省为 1。
存储空间:4 个字节。
SERIAL类型一般用于主键。
货币型
MONEY类型为货币型,内部用DECIMAL(p, s)类型表示
p说明精度,s说明小数位个数,它们均可省略,并且:
MONEY(p)=MONEY(p, 2) MONEY=MONEY(16, 2)
MONEY类型在显示时带有货币符
货币符由DBMONEY环境变量指定,缺省是美元符$
多媒体型
text类型为文本型,最大2的31次方字节
byte类型为二进制数据,最大2的31次方字节