融海咨询informix_4gl教材 第十三章INFORMIX-4GL中的数据类型_第1页
融海咨询informix_4gl教材 第十三章INFORMIX-4GL中的数据类型_第2页
融海咨询informix_4gl教材 第十三章INFORMIX-4GL中的数据类型_第3页
融海咨询informix_4gl教材 第十三章INFORMIX-4GL中的数据类型_第4页
融海咨询informix_4gl教材 第十三章INFORMIX-4GL中的数据类型_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.第十三章      INFORMIX-4GL中的数据类型本章介绍了INFORMIX-4GL中的不同数据类型。INFORMIX-4GL中有八类数据:CHAR存放任何字母、数字和符号的组合NUMBER存放数字数据SERIAL存放4GL特有的序列型整数,通常用作主键字段DATE存放日期数据MONEY存放金额数据DATETIME存放时间INTERVAL存放表示时间段的值VARIABLE-LENGTHINFORMIX-OnLine引擎所独有的变长数据类型上表的每一行是一个且唯一的数据类型。注意VARIABLE-LENGTH数据类型是INFOR

2、MIX-OnLine引擎所特有的。CHAR字段(character)存储任意字母、数字和符号的组合。存储的数据可以是名字、地址、社会安全号码、电话号码和其它由字母、数字、标点及其它符号组成的信息。在多数应用中,CHAR是常用的数据类型,它占用了大部分磁盘空间。CHAR字段的最大长度是32767字节,但大部分CHAR字段是1500字节。CHAR是固定长度的,若定义字符字段为400字节,即使数据小于400字节,这个字段在磁盘上也要占够空间数。注意数字可以存在CHAR字段中,但这种数字不能用于数学操作。用于计算的数字要存放在数字字段中。有五种数字类型字段,每种表示不同类型的数字。数字字段不能存放字符

3、或符号,但是,加(+)和减(-)可放在数字字段用于表示正、负。注意数字字段与CHAR字段一样是固定长度的。下页详细讲述各个数字数据类型。全部数字都存储在INTEGER和SMALLINT字段中。INTEGER数据类型数据范围是-32767+32767。SMALLINT数据类型占用2字节磁盘空间。INTEGER-4位SMALLINT-2位在小型应用中两者的区别可能不明显,但在大型应用中有本质的区别。可以把SMALLINT不丢失数据地转化为INTEGER型数据。举例:INTEGER发票号SMALLINT部门号、定单号FLOAT和SMALLFLOAT这两种数据类型存储二进制浮点数,用于科学计算。这两种

4、数据类型的精度:l l         FLOAT双精度。14位有效数字l l         SMALLFLOAT单精度。7位有效数字FLOAT可以存储SMALLFLOAT类型数据的两倍。FLOAT字段不是存放大数据,而是存放高精度数据。注意用SMALLFLOAT最多可以存放8位有效数字,FLOAT可以存放16位。这依赖于系统使用的浮点芯片。内部存储,也依赖于系统使用的浮点芯片。举例:FLOAT用在哈佛望远镜上的主镜精度SMALLFL

5、OAT平方根DECIMAL存储用户指定的带小数点数字。最高为32位数字。可存储的数字范围为10x10-12810x10128DECIMAL数字可以用给定的精度和标尺显示。l l         精度是整个数字的位数l l         标尺是小数点右边的数字个数定义为(5,2)的DECIMAL字段可以存储小数点前3位整数,小数点后2位小数的5位数字数据。精度和标尺是可选项。l l    

6、0;    无精度时:DECIMAL可看作是DECIMAL(16),即16位精度的浮点数。l l         无标尺时:DECIMAL可看作是一个浮点小数。在放DECIMAL中的字节数可以通过DECIMAL精度/2+1计算出来(若精度是奇数,则先加1再除2)。例如,16位精度的DECIMAL值占用9位:精度/2+1=16/2+1=9。上图对DECIMAL数据类型和FLOAT数据类型进行了比较。DECIMAL可以是高精度数且能对数字进行四舍五入。FLOAT表示的精度因机器的不同而不同

7、,这在网络数据传输中会有影响。MONEY存储货币金额。金额以前导$表示。它可以描述类似DECIMAL数据类型的高达32位的数字。同DECIMAL一样,MONEY字段要给定精度和标尺。它是固定长度的。MONEY字段没有给定精度和标尺时缺省的是DECIMAL(16,2)。占用的磁盘空间缺省是八位。这比大部分应用所需的高。你可以定义MONEY字段所需的最大范围来节省磁盘空间。若需要,以后还可以增加。SERIAL字段是系统分配给表中每行INTEGERS存储字段的唯一值。当行增加时,其值按序增加。缺省起始数为1,最大值为二十一亿。一个表中只能有一个SERIAL字段且这个字段一般为主键(PK)。程序变量不

8、能是SERIAL数据类型。若起始数设为100,则加入的第一行序列值为100。不要试图在分配了SERIAL后改变其值。SERIAL值是不能用UPDATE语句修改的。尽管它可以修改SERIAL数,但是不方便也是不必要的,如果程序不得不维护一系列连续的审计ID号,就要用别的方法来产生。当一行或多行被删除,虽然数据被移走,但SERIAL值仍然增加,因此,当新增一行时,仍然分配序列的下一个数。SERIAL数是不能重复利用的。举例:SERIAL数据类型可以用于存储客户号和部门号等标识数。DATE数据类型用于存储日历数,当日期以INTEGERS存储时,DATE数据可以用上图所列的任意格式插入DATE字段。D

9、ATE数据类型是从1899年12月31日往后开始的,即1900年1月1日是第一天。如上表所示,在Form、报表和SELECT语句中,任意非数字字符,包括空格可以用于分隔月、日、年。在Form和报表中,可以精确描述日期的打印格式。当在SELECT语句和报表中输入DATE值,必须用双引号括起来。举例:Where end_date>”12/13/1992”DATE值可以进行运算,例如:Where last_day = today + 10DATETIME数据类型用于存储表示时间点的值。它使得精度更高且选择点更细。DATETIME精度范围大可以到年,小到计算机时间片的秒。DATETIME优于DA

10、TE数据类型。它定义了从年到时间片秒的时间点。举例:DATETIME(1990-4-24 12:00) YEAR TO MINUTEDATETIME(16 12:23) DAY TO MINUTEDATETIME(31.234) SECOND TO FRACTION DATETIME数据项可以是公元1年到公元999年之间的任一时间点。DATETIME数据类型(续) 上图列出了每个DATETIME字段的值范围。这些值一般以降序排列。DATETIME必须是有效日期和时间的组合。任何无效的组合将导致错误。例如,不能定义一天的第25小时、某年七月的第31天或非闰年二月的第29天。I

11、NTERVAL数据类型用于存储一个时间段。如上图,第一个INTERVAL表示89年零8个月,第二个INTERVER表示560天零2小时25秒。例如:INTERVAL(5-3) YEAR TO MONTHINTERVAL(11:15) HOUR TO MINUTEINTERVAL数据项可以表示大到9999年零1个月或小到时间片秒。INTERVAL数据类型不能即包括月又包括日,这是因为月中的天数是随月份不同而不同的,如3月是31天,而9月是30天。每年月份中的天数也是不同的,二月份的天数每四年从28天到29天变一次。因为日历上的不同,ANSI把INTERVAL类型分成两个子类:年月型INTERVA

12、L和日期时间型INTERVAL。INFORMIX-OnLine引擎允许在字段中存储变长字符类型,这个类型叫VARCHAR。VARCHAR字段只在INFORMIX-OnLine引擎下有效。在INFORMIX-SE下无效。用VARCHAR的主要好处是,它可以增加存储在磁盘上每页的行数,提高读表的性能。VARCHAR与CHAR数据类型字段相比,它减少了磁盘浪费。VARCHAR字段可以存储0255位字符数据,当定义VARCHAR数据类型时,要定义字段的最大长度。开发者可以根据性能需要指定一个最小的长度。max-size参数设置了数据项中允许输入的最长字符限制。min-size参数设置了占用的最小磁盘空

13、间。VARCHAR存储要求:除了VARCHAR字段的实际内容,在字段开头要存储一位长的指示符。什么是Binary Large Object?它存储任意值和长度的位流。位流可以是数字、图象或声音,可重定位对象模式或法律合同。在计算机文件系统中的任何东西都可以存放在BLOB字段中。INFORMIX-OnLine允许BLOB作为数据库中的一个字段。但这个数据类型在INFORMIX-SE中是不允许使用的。理论上其大小最大为二十一亿,这是基于4位有符号整数的最大值。OnLine有两种BLOB类型:TEXT和BYTE: TEXT存储基于字符的信息:l l   

14、60;     Word文档l l         ASCII文件 BYTE存储非字符信息:l l         数字图象l l         数字声音l l         扩展表l l   &

15、#160;     任意位值组成的文件注意所有菜单中都没有BLOB这一项,它是这两种数据类型的统称。TEXT数据类型由可打印ASCII文本组成(以及一些控制字符),如:l l         Word文件l l         菜单l l         手工图表l l    &

16、#160;    工程描述l l         简介l l         法律文件l l         程序原代码l l         control-I、control-j和control-l字符 TEXT数据类型有如下特性:l l         不存储在表的行中,而是存在单独的空间l l         没有长度限制l l         使数据库具有多媒体能力注意TEXT数据类型不要和CHAR或VARCHAR数据类型搞混。BYTE数据类型可以存储任意二进制数据,如:l l       &

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论