当前位置:早雪网网络学院编程文档数据库技术Postgresql → PostgreSQL7.0手册-用户手册-3. 数据类型

PostgreSQL7.0手册-用户手册-3. 数据类型

减小字体 增大字体 作者:不详  来源:supcode.com收集整理  发布时间:2005-7-23 12:18:21
) 
path 4+32n bytes [(x1,y1),...] 开放路径 
polygon 4+32n bytes ((x1,y1),...) 多边形(与闭合路径相似) 
circle 24 bytes <(x,y),r> 圆(圆心和半径) 


一系列丰富的函数和操作符可用来进行各种几何计算,如度量,转换,旋转和计算相交等。 

Point(点)
点是集合类型的基本二维构造单位。 
用下面语法描述 point: 

( x , y )
  x , y

这里的参数是 
x 
是用一个浮点数表示的点的 x 坐标。 
y 
y 是用一个浮点数表示的点的 y 坐标。 
线段
线段(lseg)是用一对点来代表的. 
lseg 用下面语法声明: 

( ( x1 , y1 ) , ( x2 , y2 ) )
  ( x1 , y1 ) , ( x2 , y2 )  
    x1 , y1   ,   x2 , y2

这里的参数是 
(x1,y1), (x2,y2) 
是线段的端点。 
Box(方)
方是用一对对角点来表示的。 
box 用下面语法声明: 

( ( x1 , y1 ) , ( x2 , y2 ) )
  ( x1 , y1 ) , ( x2 , y2 )  
    x1 , y1   ,   x2 , y2

这里的参数是 
(x1,y1), (x2,y2) 
是一对对角点。 
方的输出使用第一种语法.在输入时将按先左下角后右上角的顺序重新排列.你也可以输入其他的一对对角点.但输入时将按照先左下角后右上角的顺序重排并存储. 
Path(路径)
路径由一系列连接的点组成.路径可能是"开放"的,也就是第一个点和最后一个点没有连接,也可能是"闭合"的,这时第一个和最后一个点连接起来.我们提供了函数 popen(p) 和 pclose(p)来强制路径是开放的还是闭合的,可以用函数 isopen(p) 和 isclosed(p) 来在查询中选择是那种. 
path 用下面语法声明: 

( ( x1 , y1 ) , ... , ( xn , yn ) )
[ ( x1 , y1 ) , ... , ( xn , yn ) ]
  ( x1 , y1 ) , ... , ( xn , yn )  
  ( x1 , y1   , ... ,   xn , yn )  
    x1 , y1   , ... ,   xn , yn    

这里的参数是 
(x,y) 
组成路径的线段的端点。前面的("[")表明一个开放的路径,而前面的("(")表明一个闭合的路径。 
路径的输出使用第一种语法输出.注意 Postgres v6.1以前的版本路径的格式是由一个圆括号开始——一个"关闭标志",一个点的计数然后后面是点的列表,最后是一个圆括号结束.有一个内建的函数upgradepath 可用于从6.1前版本输出和重载路径,将其转换成新的。 
Polygon(多边形)
多边形由一系列点代表.多边形可以认为与闭合路径一样,但是存储方式不一样而且有自己的一套支持过程/函数. 
polygon 用下列语法声明: 

( ( x1 , y1 ) , ... , ( xn , yn ) )
  ( x1 , y1 ) , ... , ( xn , yn )  
  ( x1 , y1   , ... ,   xn , yn )  
    x1 , y1   , ... ,   xn , yn    

这里的参数是 
(x,y) 
组成多边形边界的线段的端点。 
多边形输出使用第一种语法.要注意在 Postgres 版本v6.1前,多边形的格式是一个圆括号开头,后面是点的x坐标列表,然后是点的y坐标列表,最后是一个圆括号结束.用内建的函数upgradepoly 可用于从6.1前版本输出和重载多边形,将其转换成新的。 
Circle(圆)
圆由一个圆心和一个半径代表. 
circle 用下面语法表示: 

< ( x , y ) , r >
( ( x , y ) , r )
  ( x , y ) , r  
    x , y   , r  

这里的参数是 
(x,y) 
圆心 
r 
圆的半径 
圆的输出用第一个格式. 

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

IP 版本 4 网络和主机地址
cidr 类型用于存储用 CIDR(Classless Inter-Domain Routing)符号声明的网络. inet 类型用一种形式简单的变种来表示简单的主机TCP/IP地址,并以此来存储以 CIDR 符号表示的主机和网络。 
表 3-19. PostgresIP V4 类型 
  IPV4 类型 存储空间 描述 范围 
cidr 变长 CIDR 网络 有效的 IPV4 CIDR 字块 
inet 变长 网络和主机 有效的 IPV4 CIDR 字块 


CIDR
cidr 类型声明一个 CIDR 网络. 说明一个无类(classless)的网络的格式是 "x.x.x.x/y" 这里 "x.x.x.x" 网络地址 而 "/y" 网络掩码中1的个数.如果 "/y" 部分没有指明,那么掩码部分用旧的有类的网络分类假设进行计算,但要求输入的数据已经包括了确定掩码的所需的所有8进制位. 
下面是些例子: 

表 3-20. PostgresIP 类型举例 
  CIDR 输入 CIDR 显示 
192.168.1 192.168.1/24 
192.168 192.168.0/24 
128.1 128.1/16 
128 128.0/16 
128.1.2 128.1.2/24 
10.1.2 10.1.2/24 
10.1 10.1/16 
10 10/8 


inet
inet 类型设计用来在一个数据域里存放所有主机信息,包括其所在的CIDR风格的子网.要注意如果你想正确存放CIDR网络,你应该使用cidr 类型.inet 类型类似cidr 类型,只是它的主机部分可以是非零.可以用函数从数据域中将各种元素提取出来. 
该函数的输入格式是 x.x.x.x/y 这里 x.x.x.x 是互联网主机, y 是网络掩码的位数.如果 /y 部分未填,当作/32.输出时,如果 /y 部分为 /32,将不会打印出来.只要不填"/y"部分,该类型可以直接作为主机类型使用.(??This allows the type to be used as a straight host type by just leaving of the bits part. ) 



--------------------------------------------------------------------------------

上一页  [1] [2] [3] [4] 

[数据载入中...] [返回上一页] [打 印]