1、ICS 35060L 74 a雪中华人民共和国国家标准GBT 1 299 11-2008ISOIEC 9075-1:2003代替GBT 12991 1991信息技术数据库语言SQL第1部分:框架Information technology-Database languages-SQLPart 1:framework(ISOIEC 90751:2003,Information technology-Database languages-SQLPart 1:Framework(SQLFramework),IDT)2008-07-16发布 2008-12-01实施中华人民共香国国家质量监督检验检疫总
2、局考右中国国家标准化管理委员会仅111前言引言1范围2规范性引用文件-3术语的定义和使用31定义311本标准中提供的定义32术语的使用33提示性内容4概念41防止误解的说明42 SQL环境及其组成421 SQL环境-422 sQL代理423 SQL实现-424 SQL客户模块425用户标识符425a角色426用户映射概念427例程映射概念428目录和模式429外部服务器和描述符4210外部数据封装器和描述符4211 sQL数据43 表44 sQL数据类型441一般数据类型信息442空值-443预定义类型444构造原子类型445构造复合类型45场所及场所上的操作451场所452赋值453可空性4
3、6 SO-L模式对象461一般sQL模式对象信息462与字符集相关的描述符GBT 129911-2008IS01EC 90751:2003目 次V1111l3333444445555566666677888888889GBT 129911-2008ISOIEC 90751:2003463域及其组成9464用户定义类型10465相异类型10466基表及组成10467视图定义11468断言11469 sQL服务器模块114610模式例程-114611序列生成器1l4612特权1147完整性约束和约束检查11471约束检查-11472确定性和约束-1248 SQL代理和sQL服务器之间的通信1248
4、1宿主语言12482参数传递和数据类型对应性12483描述符区13484诊断信息13485 SQL事务“1349模块-14410例程144101一般例程信息144102类型保留函数14411 SQL语句144111 sQL语句分类144112按功能分类的sQL语句155 GBT 12991中的各部分说明1551概述1552 GBT 129911:框架1553 GBT129912:基础16531 GBT 129912规定的数据类型16532表-16533绑定方法16534 GBT129912中规定的sQL语句-1654 GBT 129913:调用层接口1755 GBT 129914:持久存储模块
5、17551 GBT 129914中规定的sQL语句一1756 GBT 129919:外部数据管理1757 GBT 1299110:对象语言绑定1858 GBT 1299111:信息和定义模式1859 GBT 1299113:使用Java程序设计语言的sQL例程和类型18510 GBT 1299114:与XML相关的规范186 GBT 12991中其他各部分使用的记法和约定1861取自ISOIEC 10646中的记法62本标准中使用的记法63约定631句法元素说明632信息模式和定义模式的说明633术语的使用634描述符635 GBT 12991中各部分的关系635a作为子例程使用的条款636索
6、引排版格式637特征ID和特征名64数据库语言SQL的对象标识符7 GBT 12991中各部分的附录71实现定义的元素72实现相关的元素73不推荐的特征74与以前版本的不兼容性8符合性81最小符合性82部分的符合性83特征的符合性-84 sQL包的符合性841增强日期时间设施842增强完整性管理一843 PSM-844基本对象支持845增强对象支持846主动数据库847 0LAP 848扩展和选项85 SQL标记符一86符合性声明861对SQL应用的要求862对sQL实现的要求附录A(资料性附录) SQL国际标准的维护和解释附录B(资料性附录)实现定义的元素附录C(资料性附录) 实现相关的元素
7、一附录NA(资料性附录)GBT 12991标准发展历程参考文献GBT 129911-2008ISOIEC 90751:2003鹕加孙躬拍拍弱打鹅勰鹪勰勰勰船船孙四四四趴弛弛弛孙弘孙”GBT 129911-2008ISOIEC 9075-1 12003刚 置GBT 12991在信息技术数据库语言SQL总标题下分为9个部分:第1部分:框架;第2部分:基础;第3部分:调用层接口;第4部分:持久存储模块;第9部分:外部数据管理;第10部分:对象语言绑定;第11部分:信息和定义模式;第13部分:使用Java程序设计语言的sQL例程和类型;第14部分:与XML相关的规范。本部分为GBT 12991的第1部
8、分。本部分等同采用Is0,IEc 90751:2003信息技术数据库语言SQL第1部分:框架(SQL框架)、IsOIEc 90751:2003cor1:2005技术勘误表1、ISOIEC 90751:2003cor2:2007技术勘误表2,并做了如下编辑性修改:改正ISOIEC 90751:2003标准中出现的印刷错误,将原英文版4622“理序”一节第三行中出现的14561更改为14651,此改动在正文中的页边空白处用垂直线(1)标识。将IsOIEC 9075 1:2003对应的两个技术勘误IsOIEC 90751:2003Cor1:2005和ISOIEC 90751:2003Cor2:200
9、7并入到GBT 129911:2003的文本中,并在正文中的页边空白处用垂直双线(1)标识。用“本标准”代替了“本国际标准”。在第1部分“框架”后增加资料性附录NA,说明GBT 12991标准的发展历程。删除ISOIEC 90751:2003国际标准的前言,增加国家标准对应的前言。第2章“规范性引用文件”中对ISOIEC 10646标准的引用,由原来的引用ISOIEC 106461:2000和Is0IEC 106462:2001两个标准改为引用ISOIEC 10646:2003一个标准。本部分与GBT 12991的其他部分共同代替标准GBT 12991 1991。本部分与前一版本的主要技术变化
10、在附录NA中有详细介绍。本部分的附录A、附录B、附录C、附录NA为资料性附录。本部分由中华人民共和国信息产业部提出。本部分由全国信息技术标准化技术委员会归口。本部分起草单位:中国电子技术标准化研究所、武汉达梦数据库有限公司。本部分主要起草人:冯玉才、吴恒山、谢美意、班鹏新、李晨阳、李海波、赵菁华、卫凤林、余云涛。本部分所代替标准的历次版本发布情况为:GBT 12991 1991VGBT 129911-2008ISOIEC 9075-1:2003引 言GBT 1299l本部分的内容组织如下:a)第1章“范围”,说明GBT 12991本部分所涉及的范围。b)第2章“规范性引用文件”,标识GBT 1
11、2991本部分引用的附加标准,通过对附加标准的引用构成GBT 12991本部分的补充条款。c) 第3章“术语的定义和使用”,定义GBT 12991中所使用的术语。d)第4章“概念”,描述GBT 12991中使用的概念。e)第5章“GBT 12991中的各部分说明”,依据第4章“概念”中所描述的概念,概括GBT 12991各部分的基本内容。f)第6章“GBT 12991中其他各部分使用的记法和约定”,定义GBT 12991中其他部分使用的记法和约定。g)第7章“GBT 12991中各部分的附录”,描述GBT 12991中其他部分相关的附录内容。h) 第8章“符合性”,说明对GBT 12991中全
12、部或部分内容满足符合性所须达到的要求。i)附录A“SQL国际标准的维护和解释”,属于资料性附录。该附录描述维护和解释isoIEC 9075标准的正式程序。j) 附录酽实现定义的元素”,属于资料性附录。该附录列出了GBT 12991本部分内容的语法、含义、返回结果、对SQL数据和或模式的影响或任何其他行为是部分还是全部是实现定义的那些特征。k)附录C“实现相关的元素”,属于资料性附录。该附录列出了GBT 12991本部分内容的语法、含义、返回结果、对sQL数据和或模式的影响或任何其他行为是部分还是全部是实现相关的那些特征。1)附录NA“GBT 12991标准发展历程”属于资料性附录。该附录列出了
13、GBT 12991的发展历程及各版本之间的差异。m) 参考文献介绍了一些Unicode标准及相关链接。GBT 129911-2008ISOIEC 90751:2003信息技术数据库语言SQL第1部分:框架1范围GBT 12991的本部分描述GBT 12991其他部分中所使用的概念性框架,规定了sQL语法和sQL实现的处理语句的结果。本部分还定义了GBT 12991其他部分使用的术语和记法。2规范性引用文件下列文件中的条款通过GBT12991的本部分的引用而成为本部分的条款。凡是注目期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研
14、究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。GBT 12991的所有部分(ISOIEC 9075:2003,IDT)GBT 1626212006信息技术抽象语法记法一(ASN1) 第1部分:基本记法规范(ISOIEC 8824 1:2002,IDT)ISOIEC 10646:2003信息技术通用多八位编码字符集(ucs)ISOIEC 14651:2001信息技术国际字符串排序和比较 比较字符串和描述公用模板可裁剪的排序方法3术语的定义和使用31定义311本标准中提供的定义下列定义适用于GBT 12991的本部分及其他部分。3111原子的 atomic不能被进
15、一步分割的。3112编译单元compilation unit可能由一个或多个子程序组成的一段可执行代码。3113数据类型data type可表示的值的集合。3114描述符descriptorSQL对象的编码描述。它包括一个符合SQL实现所要求的对象的全部信息。3115某些SQL对象名的完全限定fully qualified of a name of some SQL object带有显式说明的所有可选部分。注1:完全限定名对于唯一标识一个对象并不一定是必需的。例如,虽然由目录名、模式名和专用名组成的完全限定专用名能唯一标识一个例程,但并非必须要完全限定例程名。1GBT 129911-2008I
16、SOIEC 90751:20033116标识符identifier标识事物的方式。3117识别 identify无歧义性地指认事物。3118实现定义的implementation-definedSQL实现之间可能不同,而由每个特定SQL实现的实现者进行规定。3119实现相关的implementation-dependentSQL实现之间可能不同,但GBT 12991中没有规定的、且不要求任何特定SQL实现的实现者进行规定的内容。31110(一个值的)实例instance(of a value)一个值的物理表示。每个实例都确切地存在于一场所。每个实例都有其数据类型,该数据类型就是其值的数据类型。
17、31111空值 null value用来表示任何数据值暂缺的特殊值。31112对象(如“X对象”)object(as in“X object”)任何事物。一个x对象是某个x的组成部分或与其相关,不能脱离x独立存在的事物。例如,一个SQL对象必须存在于SQL上下文中;一个SQL模式对象必须存在于某个SQL模式中。31113持久的persistent除非有意撤销,始终持续存在。引用和级联动作视为有意的动作。SQL事务或SQL会话偶然发生的终止动作不视为有意的动作。31114(对象的)性质property(of an object)有关某个对象的属性、质量和特征。31115行row(字段名,值)对的
18、序列,每个值的数据类型由行类型来指定。31116(标准的)范围scope(of a standard)本标准中的条款。该条款定义本标准的主题和所涉及的内容,从而指出本标准或其中某个部分的适用限制。31117(名字或声明的)作用域scope(of a name or declaration)使得名字或声明有效的一个或多个BNF非终结符。31118(引用类型的)作用域scope(of a reference type)引用类型的值所引用的表。2GBT 129911-2008ISOIEC 9075-1:200331119序列sequence未必相异的对象的有序集合。31120场所site某个指定数据
19、类型(或它的子类型)的值的实例占用的地方。31121规模化项sizing itemSQL实现或配置文件中实现定义项的值。31122SQL连接SQL-connectionSQL客户与sQL服务器之间的联系。31123SQL环境SQL-environmentsQL数据存在和SQL语句执行的上下文环境。31124SQL实现SQL-implementation处理SQL语句的处理器。符合SQL实现是指满足第8章“符合性”中定义的要求的SQL实现。31125SQL会话SQL-session在一个sQL连接上,单个sQL代理的单个用户执行一个连续SQL语句序列的上下文环境。31126SQL语句SQL-st
20、atement符合GBT 12991中规定的格式和语法规则的字符串。31127表table具有一个或多个列的有序汇集的行的无序汇集。每一列有一个名称和一个数据类型。对于每一列,每一行只有一个属于该列的数据类型的值。32术语的使用GBT 12991中的概念是依据对象并按照通常的意义来描述的。一个对象可以看作是它所依赖的那个对象的组成部分。如果一个对象不复存在,则依赖于它的每个对象也不再存在。对象的表示被称为描述符,对象的描述符表示了须要知道的有关该对象的所有信息,见634“描述符”。33提示性内容在GBT 12991中的某些地方,出现了提示性注解。例如:注2:这是一个注解的例子。这些注解并不属于
21、GBT 12991的标准内容,由于对非标准内容声明其符合性是毫无意义的,因此不要对注解内容声明符合性。4概念41防止误解的说明本章中描述的概念,绝大多数在GBT 12991其他部分中有准确的详细说明。如有出入,以其他部分的说明为准。GBT 129911-2008ISOIEC 90751:200342 SQL环境及其组成421 SQL环境一个sQL环境包括:一个SQL代理。一个SQL实现。零个或多个sQL客户模块,包含适用于sQL代理的外部调用过程。零个或多个授权标识符。零个或多个用户映射。零个或多个例程映射。零个或多个目录,每个目录包含一个或多个sQL模式。包含模式内容所描述的sQL数据的场所
22、,主要是基表。这种数据可以被看作“数据库”,但是GBT 12991中并不使用“数据库”这个术语,因为这个词在一般的上下文中有不同的含义。422 SQL代理SQL代理就是引起sQL语句执行的主体。在sQL直接调用的情况下(见5333“SQL直接调用”),它是由实现定义的。换句话说,sQL代理可以由一个或多个编译单元组成。这些编译单元执行时调用SQL客户模块中的外部调用过程。423 SQL实现sQL实现是执行sQL代理所请求的sQL语句的处理器。一个SQL实现,由sQL代理可以看出,包括一个与sQL代理相关联的sQL客户和一个或多个sQL服务器。即使sQL环境中不允许多个sQL服务器存在,一个sQ
23、L实现也是可能符合GBT 1299l的。由于sQL实现是依据其如何执行sQL语句规定的,所以这个概念通常表示某个安装的软件实例(数据库管理系统)。GBT 12991不区别软件供应商确定的和安装者确定的sQL实现之间的特征。GBT 12991认为sQL客户和SQL服务器可能来自于不同的供应商,因此没有规定SQL客户与sQL服务器之间的通信方法。4231 SQL客户sQL客户是一个处理器,sQL代理将其视为sQL实现的一部分,它建立自身与sQL服务器之间的sQL连接,维护其自身、sQL代理、sQL服务器三者之间交互的诊断区和其他状态数据。当为一个sQL客户建立了一个或多个sQL连接时,该sQL客户
24、所维护的诊断区为当前sQL连接的sQL服务器所维护的诊断区栈(见484)中第一个诊断区的副本。当不存在sQL连接时,该诊断区要么是空的,要么包含与某个失败的sQL连接相关的诊断信息。4232 SQL服务器每个sQL服务器是一个处理器,sQL代理将其视为sQL实现的一部分,它管理sQL数据。每个sQL服务器:管理发生在SQL服务器与sQL客户之间的SQL连接上的sQL会话;执行从sQL客户接收到的sQL语句,接收和发送要求的数据;维护sQL会话的状态,包括授权标识符和一些会话的缺省信息。424 SQL客户模块一个sQL客户模块是由实现定义的机制显式创建和撤销的模块。一个sQL客户模块的名字不是必
25、须的;如果有,其允许的名字是由实现定义的。一个sQL客户模块包含零个或多个外部调用过程。一个外部调用过程是由一条sQL语句组成的。外部调用过程由宿主语言的编译单元调用。任何时候,只有一个SQL客户模块与一个sQL代理相关联。然而,在直接绑定方式或SQLCLI方式下,sQL客户模块可以是一个缺省的sQL客户模块,其存在对于用户是不可见的。4GBT 129911-2008ISOIEC 90751 12003SQL会话模块是为准备的SQL语句隐式创建的模块(见GBT129912中的437“SQL会话”)。与一个sQL会话(而不是一个SQL会话模块)相关联的每个(SQL客户模块定义M可能与一个影子模块
26、M1相关联,在相同的sQL会话中,该影子模块具有一个实现相关的名字,该名字不等于任何其他(SQL客户模块定义的指明“SCHEMA SN”,其中SN是M的(模块授权子句的显式或隐式(模式名)。M1的(语言子句、SQL路径(若规定)和(模块字符集说明等同于M所对应的特征。当M包含一个(模块授权子句)指明“FOR STATIC ONLY”,则该影子模块实际上包含M中所含的(准备语句)或(立即执行语句)所准备的每条SQL语句的一个。425用户标识符用户标识符代表一个用户。创建和撤销用户标识符的方法,以及到真实用户的映射,在GBT 12991中没有做出规定。425a角色角色是特权或其他角色的潜在的接受者
27、和授予者。角色也可以拥有模式和其他对象。角色授权允许接受者(见4612)使用已授予该角色的所有特权。它也指明了该角色授权是否是可授予的,在这种情况下,接受者被授权可以将该角色授权、回收对该角色的授权及销毁该角色。426用户映射概念一个用户映射把一个授权标识符与一个外部服务器描述符对应起来。427例程映射概念一个例程映射把一个sQL调用例程与一个外部服务器描述符对应起来。注3:按GBT12991的本版本,与外部服务器描述符对应的SQL调用例程被限制为SQL调用规则函数,将来的版本可能撤销这一限制。428目录和模式4281目录目录是在一个SQL环境中的sQL模式、外部服务器描述符、外部数据封装器描
28、述符的命名集合。创建和撤销目录的机制是由实现定义的。在当前sQL会话中,通过来改变。4282 SQL模式SQL模式,通常简称为模式,是一个持久的、描述符的命名集合。任何其描述符属于某个sQL模式的对象被称为SQL模式对象。与模式关联的授权标识符拥有该模式、模式中的模式对象以及由模式对象描述的SQL数据。SQL模式的创建和撤销通过执行SQL模式语句(或由实现定义的机制)来完成。4283信息模式每个目录均包含一个名为INFORMATIONSCHEMA的SQL模式,该模式包括一定数量的模式对象的描述符,大多数是视图定义,它们使得该目录中的每个描述符都能够像SQL数据一样被访问,但不能被修改。通过信息
29、模式中的视图可获得的数据包括该信息模式自身的描述符,不包括定义模式(见4284)中的模式对象和基表。每个信息模式视图规定一个给定用户只能访问视图中该用户在其表示的描述符上具有特权的那些行。4284定义模式定义模式是一个虚构的名为DEFINITIONSCHEMA的模式。如果它真的存在,那么,其基表中的SQL数据应该描述一个SQL服务器可以获得的所有SQL模式。GBT12991中的定义模式仅作为信息模式中视图的基础而定义。GBT 129911-2008ISOIEC 90751:2003定义模式的结构是sQL数据模型的一种表示。429外部服务器和描述符外部服务器是一个处理器,它并不是SQL实现的一部
30、分。一个外部服务器由一个外部服务器描述符来描述。外部服务器管理不属于SQL环境的数据。SQL服务器和sQL客户能够使用外部服务器描述符(它是一个目录元素)与一个外部服务器通信。外部服务器管理的数据可由SQL服务器或SQL客户通过外部表(属于sQL模式元素)来访问。4210外部数据封装器和描述符外部数据封装器提供一种机制,sQL服务器通过这种机制能够访问由外部服务器管理的数据。外部数据封装器由外部数据封装器描述符来描述。4211 SQL数据SQL数据是由sQL模式描述的数据,即SQL环境中在SQL实现的控制之下的数据。43表表具有一个或多个列的有序汇集和零个或多个行的无序汇集。每一列有一个名称和
31、一个数据类型。每一行,相对于每一列而言,只有一个属于该列的数据类型的值。完全由表变量组成的SQL数据称为基表。引用零个或多个基表且返回一个表的操作称为查询。查询的结果称为导出表。表的行具有一个类型,称为“行类型”,表中的每一行具有相同的被称为“行类型”的类型。基于某个结构类型声明的表称为“类型表”,其列名和声明的类型对应于该结构类型中属性的名字和类型。类型表还有一个附加列,称为“自引用列”,其类型是与该表的结构类型相关联的引用类型。如果类型表TBI有一个关联结构类型TPI,TPl是某结构类型TP2的子类型,则可以把TBl定义成其关联类型为TP2的类型表TB2的子表。这种情况下,TB2称为TBI
32、的“超表”。视图是一个命名查询,能够通过其名字进行调用,这种的调用结果称为视图表。有些查询,即有些视图是可更新的,这意味着它们可以作为改变SQL数据的那些语句的操作目标。视图上的更新最终还是体现为相应基表上的更新。基表或视图表中,任意两列不能有相同的名字。除视图表外的导出表可以包含同名列。基表可以是一个模式对象(其描述符属于模式,见466),也可以是一个模块对象(其描述符属于模块,见49)。描述符属于模式的基表称为创建基表,它可以是持久的或f临时的(虽然两种情况的描述符都是持久的)。一个持久基表包括零或多行持久的sQL数据。模块中声明的基表只能是l|缶时的,且称为声明临时表。临时表是一个SQL
33、会话对象,不能在其他SQL会话中进行访问。全局临时表可以在任何相关的sQL客户模块中访问。局部临时表只能在其所属的模块中访问。当SQL会话初始时,临时表是空的。依据其描述符的描述,临时表会在SQL事务终止时,或是sQL会话终止时被清空(即所有的行都被删除)。44 SQL数据类型44。1一般数据类型信息每个数据值都属于某个数据类型。每个数据类型可以是预定义类型、构造类型或用户定义类型。每个数据类型有一个名字。预定义和构造数据类型的名字使用GBT 12991中用来指定数据类型的保留字。用户定义类型的名字在其定义中指定。一个用户定义类型是一个模式对象,见464。一个预定义数据类型是GBT 12991
34、中指定的一种数据类型,因而它由SQL实现提供。虽然定义预定义数据类型时要求(或允许)用户提供相关参数(例如一个数的精度),但它依然是预定义的。一个预定义数据类型是原子的。原子类型是指其值不能由其他数据类型的值构成的数据类型。虽然存在某些操作(SUBSTRING、EXTRACT)可以从一个字符串或一个日期时间值中提取一部分,但这6GBT 129911-200811S01EC 9075-1:2003并不表示字符串类型或日期时间类型不是原子的。一个构造类型可以是原子的,也可以是复合的。复合类型指的是这样一种数据类型,它的每个值由零个或多个值组合而成,其中每个值都属于一个已声明数据类型。442空值每种
35、数据类型都包含一个特殊值,称为空值,有时用关键词NULL表示。这个值在以下方面与其他的值不同:由于每种数据类型都有空值,所以不能从关键字NULL表示的空值推断出其数据类型,因此NULL只能在某些特定的上下文中用来表示空值,而不是任何允许有字面出现的地方。尽管空值既不等于任何其他值,也不是不等于任何其他值一它是否等于一个给定值是未知的。但在某些上下文环境中,多个空值可以一起处理,例如,(GROUPBY子句可以一起处理所有的空值。443预定义类型4431数值类型数值类型有两类:精确数值类型和近似数值类型。精确数值类型包括整数类型和具有指定精度和标度的类型;近似数值类型实质上是浮点数值类型,其精度说
36、明是可选的。每个数具有一个精度(数字的个数),精确数值类型还具有一个标度(小数点后的数字个数)。算术运算的操作数可以是相同或不同的数值类型,其运算结果的数值类型仅取决于操作数的数值类型。如果结果类型不能准确表示结果值,那么是进行四舍五人、还是截断,这是由实现定义的。如果结果值超出结果数据类型的表示范围,或是操作数上没有定义该算术运算,则将产生一个异常状态。4432字符串类型一个字符串类型的值是从某个字符表中抽出的一个字符串(PF列)。一个字符串s中的字符都来自于同一个字符集CS。如果s是某个表达式E的值,则CS是E的声明类型所指定的字符集。字符串可以是定长的,也可以是变长的(直到某个实现定义的
37、上限)。一个字符大对象类型的值是来自于某个字符表的字符串,且总是只与一个字符集关联。一个大对象字符串是变长的,直到某个实现定义的上限,这个上限可能要比其他字符串的上限大。字符串或字符大对象的字符集可以使用CHARACTER SET在数据类型中进行指定。如果实现选择的特定字符集是国家标准字符集,则可以使用NATIONAL CHARACTER、NATIONAL CHAR-ACTER VARYING、NATIONAL CHARACTER LARGE OBJECT(或其他语法上等价的方式)来说明数据类型。一个二进制串类型(称为二进制大对象或BLOB)的值是一个八位位组的变长序列,直到某个实现定义的上限
38、。4433布尔类型一个布尔数据类型的值可以是真(TRUE)或假(FALSE)。未知(UNKNOWN)的值有时由空值来表示。4434日期时间类型日期时间类型有三种,每种类型的值由日期时间字段构成。TIMESTAMP数据类型的值由日期时问字段值YEAR(从00019999)、MONTH、DAY、HoUR、MINUTE和SECOND组成。TIME数据类型的值由日期时间字段值HOuR、MINUTE和SECOND组成。DATE数据类型的值由日期时间字段值YEAR(从00019999)、MONTH和DAY组成。一个DATE的值是一个有效的格林尼治日期。一个TIME的值是一天中的有效时间。TIMESTAMP
39、和TIME可以说明十进制的小数秒的精度。TIMESTAMP和TIME说明可以包含选项wITH TIME ZONE,在这种情况下,每个值都与一个7GBT 129911-2008ISOIEC 90751:2003时区偏移量相关联。在比较数据类型带有WITH TIME ZONE的时间值时,将会忽略其时区偏移量。4435时间间隔类型一个时间间隔类型的值表示一段持续的时间。时间间隔类型有两类:一类称为年月时间间隔,其时间间隔精度或包含YEAR字段,或包含MONTH字段,或两者都包含;另一类称为日时时间间隔,其指明或隐含的时间间隔精度可包含除YEAR字段和MONTH字段外的任何相邻字段的组合。4436 XML类型XML类型的值称为XML值。444构造原子类型4441引用类型引用类型是一种构造数据类型,引用类型的值引用(或指向)某个拥有被引用类型的一个值的场所。能够这样被引用的场所只有类型表中的行,由此可见每个被引用类型必然是一个结构类型。445构造复合类型4451集合类型集合由零个或多个指定数据类
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1