informix数据类型

上传人:公**** 文档编号:495079784 上传时间:2024-03-03 格式:DOCX 页数:7 大小:27.99KB
返回 下载 相关 举报
informix数据类型_第1页
第1页 / 共7页
informix数据类型_第2页
第2页 / 共7页
informix数据类型_第3页
第3页 / 共7页
informix数据类型_第4页
第4页 / 共7页
informix数据类型_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《informix数据类型》由会员分享,可在线阅读,更多相关《informix数据类型(7页珍藏版)》请在金锄头文库上搜索。

1、一.内建的数据类型 1. 数字相关 1)INTEGER 整型,范围为:-21474836472147483648 2)SMALLINT短整型,-3276732767 3)INT8长整型 (263 1) 263 1 4)DECIMAL(p,s)可调整精度浮点型10-130 10124 SMALLINT和INTEGER的优势:占用很小的空间,分别占用2个字节和4个字节可以对他们执行算术表达式和排序操作SMALLINT和INTEGER的劣势:可以存储数值的范围有限只有IDS才支持INT8,虽然占据的空间是INT的两倍,但是存储的数值的范围增大到:(263 1) 263 1DECIMAL(p,s)的优

2、势:p指数据的精度,其范围从1到32,s则用以确定小数位数,是0的时候等同于DECIMAL(p)表示整数。他完整涵盖了SMALLFLOAT和FLOAT的表达范围。DECIMAL(p)占用的存储空间为p/2+1个字节,而DECIMAL(p,s)占用的存储空间,如果s是偶数,占用(p +3)/2个字节,s为奇数(p + 4)/2个字节。DECIMAL(p,s)的劣势:缺点是算术运算的效率比较低,且许多变成语言不支持此种格式。 4)SERIAL、SERIAL8、BIGSERIAL这三种类型都会自动产生数据,并且用户可选择是否提供初始值.不同之处在于:SERIAL类型的数据占用4个字节的存储空间;SE

3、RIAL8类型的数据一般情况下占用10个字节的存储空间(在Extended Parallel Server中占用8个字节的存储空间);BIGSERIAL类型的数据占用8个字节的存储空间。eg1.创建一个表route_rule,它的主键rule_id是属于SERIAL自增类型的,参考建表语句如下:createtableroute_rule(rule_idserialnotnull,rule varchar(128)notnull,action varchar(32)notnull,route_arg varchar(32),primarykey(rule_id)constraintPK_ROUT

4、E_RULE); eg2.如何查询serial型字段的当前值? 5)DECIMAL(p,s) 其中p是整个数据的有效位,s是小数点后位数,1p32,s可以为0。不指定时默认为16位。 eg1:在如下实例中,创建了human_task_exp表,其中probability为双精度类型:createtablehuman_task_exp(serviceidVARCHAR(30)notnull,secondsINTEGERdefault0notnull,probabilityDECIMAL(16,14)default0) 6)FLOAT、SMALLFLOAT 这两种类型的数据使用于不要求精度而要求量

5、值的场合,如科学计算,FLOAT双精度数,通常占8个字节,有16位十进制有效位,而smallint为单精度数,占4字节,8位十进制有效位。但数值超出精度范围,则都看作0处理 7)MONEY(p, s) 同decimal完全相同,但显示money类型时候会自动显示现金符号,默认是$。2. 时间相关 1)DATE日期型,随数据库不同而不同. eg1. test_date表中包含一个birthday的日期字段,可以通过如下语句插入:创建表的语句参考如下:CREATETABLEtest_date(birthdaydate); 插入记录(一条生日为1982年11月21日的数据)的语句参考如下:inser

6、tintotest_datevalues(11/21/1982);也可通过如下语句执行如上语句相同的结果:insertintotest_datevalues(date(11/21/1982); eg2. 将DATE类型的数据转换为指定的字符类型例如将上面的11/21/1982变成1982-11-21的类型.语句如下:selectTO_CHAR(birthday,%Y-%m-%d)fromtest_date; eg3.获得当前日期selecttodayfromtest_date;eg4. 日期相加减,得到天数,例如将test_date中的当前日期-birthday字段,可得到出生天数,语句如下:

7、selectto_date(to_char(today,%Y-%m-%d),%Y-%m-%d)-to_date(to_char(birthday,%Y-%m-%d),%Y-%m-%d)fromtest_date; 对于1982-11-21,可得到如下的返回结果(oh,my god,我已经出生那么多天咯):1021100:00:00.00000 2)DATETIME 用于记录时间点,表示的精度可以任意指定,可以包含年份、月份、日。eg1.将表test_datetime的字段birthtime定义为DATETIME类型,建表语句参考如下:createtabletest_datetime(birth

8、timedatetimeyeartofraction(2); eg2. 若要在该表中插入一条1982-11-21 12:20:00的数据:insertintotest_datetimevalues(1982-11-2112:20:00); eg3. 插入eg2中同样的记录,还可以使用如下语句:insertintotest_datetimevalues(datetime(1982-11-2112:20:00.79)yeartofraction(2); eg4. 将DATE类型的数据转换为指定的字符类型:selectTO_CHAR(birthtime,%Y-%m-%d%H:%M:%S)fromte

9、st_datetime;上面的出生时间的如上语句的结果如下:1982-11-2112:20:00 3)INTERVALinterval类型的数值用于表示两个时间点之间的间隔. eg1.将表test_interval的字段interval_filed字段定义为INTERVAL类型,并且只包含“时:分:秒”,建表语句参考如下:createtabletest_interval(interval_filedintervalhourtosecond); eg2. 在上面创建的表中插入一条记录,时间是12:20:05,语句参考如下:insertintotest_intervalvalues(12:20:0

10、5); eg3.达到如上语句相同的结果也可以使用到interval函数,语句参考如下:insertintotest_intervalvalues(interval(12:20:05)hourtosecond); eg4. 将INTERVAL类型转换为指定的字符类型(HH:MM:SS格式,直接查询就是这个格式,嘻嘻),语句参考如下:select*fromtest_interval;运行结果就是:12:20:05。3. 字符相关 1)VARCHAR(n, r) 存储变长字符型,最长255字节。 2)CHAR(n) 定义宽度为n的字符字段,最长255。 3)NCHAR(n) 同char,但允许GLS

11、应用程序的不同排序顺序。 4)NVARCHAR(m, r) 同varchar,但允许GLS应用程序的不同排序顺序。5)LVARCHAR(m) 存储变长字符串,最大32739个字节.6)CHARACTER VARYING(n, r) 存储用户定义的数据类型,其内部结构对于数据库服务器不透明,即不可存取。 4.大对象相关 1)BYTE 二进制数据,最大2的31次方字节。byte用于存储任意数据,一般用来存储图片和声音文件等。 2)TEXT 文本型,最大2的31次方字节。 3)BLOB 以随机存取块的形式存储二进制数据。 4)CLOB 以随机存取块的形式存储文本数据。 5. MISC 1)BOOLE

12、AN 存储布尔值true和false。 二.复杂对象类型(complex data type) 1、复杂数据类型由一个或多个数据类型组合而成。复杂数据类型有row数据类型、集合数据类型。2、Row数据类型 由一个或多个任意的数据类型组成;eg1. 如下创建一个patient的Row数据类型,具有integer类型的num和char类型的name字段,参考语句如下:CREATEROWTYPEpatient(numint,namechar(30);3、集合数据类型 由一个或多个同样的数据类型集合组成,包括SET、LIST和MULTISET。 1)SET(e)数据类型 存储元素的非排序集合,所有元素都具有同一类型e;不允许重复值. eg1、在如下表中将description字段定义为SET类型,参考语句如下:CREATETABLEemployee(nameCHAR(30),salaryINTEGER,descriptionSET(VARCHAR(100)NOTNULL);eg2. 如何插入SET

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号